I denne opplæringen lærer du en åpen hemmelighet: hvordan du genererer skjermbilder av nettsteder som skal brukes i WordPress-innleggene dine, ved hjelp av en tjeneste fra WordPress.com. Vi vil til og med gjøre dette til en brukervennlig kortkode for å vise skjermbilder ... la oss komme i gang!
Det er en åpen hemmelighet, og har vært i et par år, at WordPress avslører en skjermdumpgenerator på det s.wordpress.com underdomenet. Og scuttlebutt er at så lenge du ikke misbruker det, så er det gratis å bruke. WordPress.com bruker det til å generere skjermbilder fordi det er ulike aktiviteter.
For eksempel, her er url for å vise et skjermbilde av wp.tutsplus med en bredde på 400 piksler:
http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwp.tutsplus.com?w=400
Du må kanskje klikke på koblingen igjen, da generatoren tar litt tid til å cache bildet.
Hva skal vi gjøre:
Vår kortnummer vil bli brukt som:
[ss_screenshot site = "http://wp.tutsplus.com"]
Du kan legge til koden til functions.php-filen i temakatalogen din. Den fulle koden er tilgjengelig i kildekilden over.
add_shortcode ('ss_screenshot', 'ss_screenshot_shortcode'); funksjon 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 = ''; ekko '' . $ image_tag. ''; else echo 'Bad skjermbilde url!';
I et innlegg eller en side legger du inn denne koden:
[ss_screenshot site = "http://amazon.com"]
Når du ser innlegget eller siden, bør du se et 300 pixel bredt skjermbilde av Amazon. Husk at du kanskje må oppdatere siden etter noen få sekunder for å se det hurtigbufrede skjermbildet. Spill rundt med bredden og se hva som skjer når du går utenfor rekkevidde. Forresten, kan du angi hvilket breddeintervall du liker. Prøv også en dårlig url: Du bør se advarselsmeldingen i stedet for et skjermbilde.
Nå som vi har en fungerende kortkode, la oss se hvordan vi kan innlemme det inn i vår WordPress-løkke.
La oss tenke oss et scenario der vi vil vise et skjermbilde av et nettsted ved siden av hvert av innleggene våre. For formatering og brukervennlighet, er det best å automatisere denne prosessen ved å legge til et egendefinert felt på vår postredigeringsskjerm. I det feltet kan vi legge inn en webadresse som kan brukes i postsløyfen for å vise et skjermbilde ved hjelp av vår nye kortkode.
Hvis den egendefinerte feltboksen ikke vises på skjermbildet for innleggsredigering, så se på skjermen øverst til høyre, og du bør se kategorien Skjermalternativer. Klikk det og kryss av i Tilpassede felt-boksen. Nå bør du se noe som dette på skjermbunnen:
Klikk på Skriv inn ny lenke og opprett et nytt tilpasset felt kalt screenshot_url. Dette er hva du bør se:
Nå når du oppretter / redigerer et innlegg (det egendefinerte feltet vises for alle innlegg) kan du skrive inn en URL for å generere et skjermbilde relatert til innlegget.
Her er en seriøst nedslagsversjon av standard WordPress-innleggsløyfen (som finnes i en templatmal), inkludert skjermbildevisningskoden:
hvis (have_posts ()) mens (have_posts ()): the_post (); tittelen(); $ url = get_post_meta ($ post-> ID, 'screenshot_url', true); do_shortcode ('[ss_screenshot site = "'. $ url. '"]'); innholdet(); slutt om; EndWhile;
Hvis du opprettet et innlegg med tittelen Honda Accord og ga det et skjermbilde url på http://www.honda.com, ved hjelp av det nye loopoppsettet, bør du se noe slikt:
I stedet for å vise en sterk advarselsmelding hvis et innlegg ikke har en skjermdump-adresse, kan du vise et standardbilde.
Hvis du ikke ønsker å bruke skjermbildegeneratoren fra WordPress, eller hvis du har større behov, kan du bruke det fulle alternativet på en skjermdumpstjeneste som http://www.shrinktheweb.com. Du kan bruke teknikkene som brukes i denne opplæringen til noen skjermdumpeservice.