Hur Grayscale bilder i WordPress

Hur Grayscale bilder i WordPress / Handledningar

Har du någonsin undrat om det var ett sätt att automatiskt gråskala bilder i WordPress när du laddar upp dem? Tja, tiden är över. I den här artikeln kommer vi att visa dig hur du kan använda några enkla verktyg för PHP-manipulation och WordPress-funktioner för att automatiskt gråtonbilder vid uppladdning. Du kan använda gråskalebilder för svävar, skjutreglage, galleri eller något annat du vill.

Det första du behöver göra är att öppna ditt temas funktioner.php-fil och lägg till följande kod:

add_action ( 'after_setup_theme', 'themename_bw_size'); funktion themename_bw_size () add_image_size ('themename-bw-image', 100, 100, true); 

Koden ovan lägger helt enkelt till en extra bildstorlek för uppladdaren. Storleken är inställd på 100 x 100 px med hård beskärning. Du kan ändra dimensionerna så att de passar dina behov. När du har gjort det måste du lägga till följande kod:

 add_filter ( 'wp_generate_attachment_metadata', 'themename_bw_filter'); funktion themename_bw_filter ($ meta) $ file = wp_upload_dir (); $ file = trailingslashit ($ file ['path']). $ meta ['storlekar'] ['themename-bw-image'] ['fil']; lista ($ orig_w, $ orig_h, $ orig_type) = @getimagesize ($ file); $ image = wp_load_image ($ file); bildfilter ($ bild, IMG_FILTER_GRAYSCALE); byta ($ orig_type) fall IMAGETYPE_GIF: imagegif ($ image, $ file); ha sönder; fall IMAGETYPE_PNG: imagepng ($ image, $ file); ha sönder; fall IMAGETYPE_JPEG: imagejpeg ($ image, $ file); ha sönder;  returnera $ meta;  

Koden ovan berättar ganska mycket uppladdaren om att skapa en extra storlek på bilden du laddat upp. Skär det till den storlek du har angett i föregående steg. Applicera sedan bildfiltret: gråskala.

Om du gjorde detta för dina inläggs miniatyrbilder kan du visa det så här i ditt tema:

 

Om du vill göra det för en specifik bilaga, kan du använda wp_get_attachment_image-funktionen.

Obs! Du bör ändra namnnamnet till ditt temans namn.

Alla krediter för detta fantastiska trick går till Otto.