Hvordan gråtoner bilder i WordPress

Hvordan gråtoner bilder i WordPress / Guider

Har du noen gang lurt på om det var en måte å automatisk gråtonebilder i WordPress når du laster dem opp? Vel, tiden er over. I denne artikkelen vil vi vise deg hvordan du kan bruke noen enkle PHP-bildehåndteringsverktøy og WordPress-funksjoner til automatisk gråtonebilder ved opplasting. Du kan bruke gråtonebilder til svinger, skyveknapper, galleri eller noe annet du liker.

Første du må gjøre er å åpne temaets funksjoner.php-fil og legge til følgende kode:

ADD_ACTION ( 'after_setup_theme', 'themename_bw_size'); funksjon themename_bw_size () add_image_size ('themename-bw-image', 100, 100, true); 

Koden ovenfor legger ganske enkelt til en ekstra bildestørrelse for opplasteren. Størrelsen er satt til 100 x 100 px med hard beskjæring. Du kan endre dimensjonene slik at de passer til dine behov. Når du har gjort det, må du legge til følgende kode:

 add_filter ( 'wp_generate_attachment_metadata', 'themename_bw_filter'); funksjon themename_bw_filter ($ meta) $ file = wp_upload_dir (); $ file = trailingslashit ($ file ['path']). $ meta ['sizes'] ['themename-bw-image'] ['fil']; liste ($ orig_w, $ orig_h, $ orig_type) = @getimagesize ($ file); $ image = wp_load_image ($ file); bildefilter ($ image, IMG_FILTER_GRAYSCALE); bytt ($ orig_type) tilfelle IMAGETYPE_GIF: imagegif ($ image, $ file); gå i stykker; tilfelle IMAGETYPE_PNG: imagepng ($ image, $ file); gå i stykker; tilfelle IMAGETYPE_JPEG: imagejpeg ($ image, $ file); gå i stykker;  returner $ meta;  

Koden ovenfor viser ganske mye opplasteren til å skape en ekstra størrelse på bildet du lastet opp. Beskær den til den størrelsen du har angitt i forrige trinn. Deretter bruker du bildefilteret: Gråskala.

Hvis du gjorde dette for dine miniatyrbilder, kan du vise det slik i temaet ditt:

 

Hvis du vil gjøre dette for et bestemt vedlegg, kan du bruke wp_get_attachment_image-funksjonen.

Merk: Du bør endre navnet til temaet ditt.

Alle kreditter for dette fantastiske trikset går til Otto.