آیا تا به حال فکر کرده اید که آیا هنگام بارگذاری تصاویر راهی برای خودکار در مقیاس خاکستری تصاویر وجود دارد؟ خوب زمان تعجب گذشته است. در این مقاله ، ما به شما نشان خواهیم داد که چگونه می توانید از برخی ابزارهای ساده دستکاری تصویر PHP و توابع وردپرس برای بارگیری تصاویر در مقیاس خاکستری به صورت خودکار هنگام بارگذاری استفاده کنید. می توانید از تصاویر در مقیاس خاکستری برای شناور ، اسلایدر ، گالری یا هر چیز دیگری که دوست دارید استفاده کنید.
اولین کاری که باید انجام دهید این است که فایل توابع.php طرح زمینه خود را باز کنید و کد زیر را اضافه کنید:
add_action ('after_setup_theme'، 'themename_bw_size')؛ تابع themename_bw_size () { add_image_size ('themename-bw-image' ، 100 ، 100 ، درست)؛ }
کد بالا به سادگی یک اندازه تصویر اضافی برای آپلود کننده اضافه می کند. اندازه با برداشت سخت روی 100 x 100 پیکسل تنظیم شده است. ممکن است ابعاد را متناسب با نیازهای خود تغییر دهید. پس از انجام این کار ، باید کد زیر را اضافه کنید:
add_filter ('wp_generate_attachment_metadata'، 'themename_bw_filter')؛ تابع themename_bw_filter ($ meta) { $ file = wp_upload_dir ()؛ $ file = trailingslashit ($ file ['path']). $ meta ['sizes'] ['themename-bw-image'] ['پرونده']؛ لیست ($ orig_w ، $ orig_h ، $ orig_type) =getimagesize ($ file)؛ $ image = wp_load_image ($ پرونده)؛ imagefilter ($ تصویر ، IMG_FILTER_GRAYSCALE) ؛ سوئیچ ($ orig_type) { مورد IMAGETYPE_GIF: imagegif ($ image ، $ file) ؛ زنگ تفريح؛ مورد IMAGETYPE_PNG: imagepng ($ image، $ file)؛ زنگ تفريح؛ مورد IMAGETYPE_JPEG: imagejpeg ($ image، $ file)؛ زنگ تفريح؛ } بازگشت $ meta؛ }
کد بالا تقریباً به آپلود کننده می گوید که اندازه اضافی تصویری را که بارگذاری کرده اید ، ایجاد کند. آن را به اندازه ای که در مرحله قبل مشخص کرده اید برش دهید. سپس فیلتر تصویر را اعمال کنید: Grayscale.
اگر این کار را برای تصاویر کوچک پست خود انجام می دادید ، می توانید آن را به این شکل در طرح زمینه خود نمایش دهید:
اگر می خواهید این کار را برای پیوست خاصی انجام دهید ، می توانید از wp_get_attachment_image .
توجه: باید نام themen را به نام طرح زمینه خود تغییر دهید.
تمام اعتبارات این ترفند عالی به Otto a >.
منبع:
https://www.wpbeginner.com/wp-tutorials/how-to-grayscale-images-in-wordpress/.