Så här skapar du webbplatsens skärmdumpar för din WordPress-webbplats

I denna handledning lär du dig en öppen hemlighet: hur man genererar skärmdumpar av webbplatser som ska användas i dina WordPress-inlägg med hjälp av en tjänst som tillhandahålls av WordPress.com. Vi gör det till en lättanvänd kortnummer för att visa skärmdumparna ... låt oss komma igång!


Bakgrund

Det är en öppen hemlighet, och har varit ett par år, som WordPress avslöjar en skärmdumpgenerator på dess underdomän s.wordpress.com. Och scuttlebutt är det så länge du inte missbrukar det, så är det gratis att använda. WordPress.com använder det för att generera skärmdumpar eftersom det är olika aktiviteter.

Till exempel, här är webbadressen för att visa en skärmdump av wp.tutsplus med en bredd på 400 pixlar:

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwp.tutsplus.com?w=400

Du kan behöva klicka på länken igen eftersom generatorn tar lite tid att cache bilden.

Vad vi ska göra:

  • skriv en kortnummerfunktion för att visa en skärmdump
  • använd kortnumret för att visa en skärmdump som en del av postslingan med hjälp av ett anpassat fält för webbadressen

Steg 1 Kortnummerfunktionen

Vår kortnummer kommer att användas som:

 [ss_screenshot site = "http://wp.tutsplus.com"]

Du kan lägga till koden i funktionen.php-filen i din temakatalog. Den fullständiga koden finns tillgänglig i källlänken ovan.

 add_shortcode ('ss_screenshot', 'ss_screenshot_shortcode'); funktion ss_screenshot_shortcode ($ atts) $ width = intval ($ atts ['width']); $ width = (100 <= $width && $width <= 300) ? $width : 200; $site = trim($atts['site']); if ($site !=") $query_url = 'http://s.wordpress.com/mshots/v1/' . urlencode($site) . '?w=' . $width; $image_tag = ''. $ site. ''; eko ". $ image_tag. '';  else echo 'Bad screenshot url!'; 

Vad den här koden gör:

  • förklara en kortnummer som heter ss_screenshot med add_shortcode-funktionen
  • Shortcode-funktionen accepterar arrayen $ atts som innehåller de två kortnummerattributen: bredd och plats
  • breddattributet konverteras till ett heltal och kontrolleras för att det är inom ett lämpligt intervall, i detta fall mellan 100 och 300 pixlar. Obs! Vi använder den PHP-ternära operatören för att tilldela en standardbredd på 200 om den medföljande bredden ligger utanför vårt sortiment. Detta tar också hänsyn till ett bristattribut som saknas.
  • Sidantalet är trimmat för att ta bort oavsiktliga vänster och höger utrymme
  • vi skapar en frågeadress genom att lägga till en urlenkodad webbplatsattribut och breddattributet
  • äntligen sätter vi in ​​query_url i en bildtagg och en länk tagg så att användare kan klicka på skärmdumpen och tas till webbplatsen

Steg 2 Test Kortnummer

I en post eller sida, sätt in denna kortnummer:

 [ss_screenshot site = "http://amazon.com"]

När du tittar på inlägget eller sidan ska du se en 300 pixel bred skärmdump av Amazon. Kom ihåg att du kanske behöver uppdatera sidan efter några sekunder för att se den cachade skärmdumpen. Spela runt med bredden och se vad som händer när du går utanför räckhåll. Förresten kan du ställa in vilket breddsområde du vill ha. Testa också en dålig webbadress: Du bör se varningsmeddelandet istället för en skärmdump.

Nu när vi har en fungerande kortnummer, låt oss se hur vi kan införliva det i vår WordPress-loop.


Steg 3 Anpassad fältinställning

Låt oss föreställa oss ett scenario där vi vill visa en skärmdump av en sida bredvid var och en av våra inlägg. För formatering och användbarhetsskäl är det bäst att automatisera denna process genom att lägga till ett anpassat fält på vår postredigeringsskärm. I det fältet kan vi mata in en webbadress som kan användas i efterloppet för att visa en skärmdump med vår nya kortnummer.

Om den anpassade fältrutan inte visas på skärmen för postredigering, titta på skärmens övre högra och du ska se fliken Skärmalternativ. Klicka på det och kryssa i rutan Anpassade fält. Nu borde du se något som här på skärmens botten:

Klicka på Skriv ny länk och skapa ett nytt anpassat fält som heter screenshot_url. Detta är vad du bör se:

Nu när du skapar / redigerar ett inlägg (det egna fältet visas för alla inlägg) kan du skriva in en webbadress för att generera en skärmdump relaterad till posten.


Steg 4 Lägg till skärmdump Visa till loppet

Här är en seriöst nedskuren version av standard WordPress-postslingan (som finns i en templatslogg), inklusive vår skärmdumpskärmskod:

 om (have_posts ()) medan (have_posts ()): the_post (); titeln(); $ url = get_post_meta ($ post-> ID, 'screenshot_url', true); do_shortcode ('[ss_screenshot site = "'. $ url. '"]'); innehållet(); endif; EndWhile;

Vad den här koden gör:

  • kolla om vi har inlägg, starta looping och visa posttiteln
  • hämta innehållet i skärmfältet screenshot_url genom att skicka det aktuella post-ID och namnet på det egna fältet till get_post_meta-funktionen
  • Eftersom vi är i en mallfil använder vi funktionen do_shortcode för att analysera vår kortnummer som innehåller skärmdumpadressen för det här inlägget
  • då visar vi inläggets innehåll och avslutar slingan

Steg 5 Test loppet

Om du skapade ett inlägg med titeln Honda Accord och gav den en skärmdumpadress av http://www.honda.com, med hjälp av din nya loop setup, bör du se något så här:


Slutsats

I stället för att visa ett starkt varningsmeddelande om ett inlägg inte har en skärmdumpadress, kan du visa en standardbild.

Om du inte vill använda skärmdumpgeneratorn från WordPress, eller om du har större behov, kan du använda det fria alternativet på en skärmdumpstjänst som http://www.shrinktheweb.com. Du kan tillämpa de tekniker som används i denna handledning till alla skärmdumpar.

Saker att komma ihåg:

  • Skärmbilderna tar några sekunder (vanligtvis) för att generera, så uppdatera sidan
  • Urlänk ur webbadressen till skärmdumpstjänsten
  • starta dina webbadresser med http: //
  • Om du har mer krävande behov av skärmdumpar, använd en kommersiell tjänst