اگر میخواهید تمام محصولات ووکامرس را بدون تصویر مخفی کنید، میتوانید با استفاده از یک قلاب اقدام ساده که متا کوئری را بر اساس مقدار تصویر کوچک محصول بازنشانی میکند، به این هدف برسید. مخفی کردن محصولات ووکامرس بدون قطعه کد تصویر در این پست را می توان روی هر موضوع ووکامرس اضافه کرد و به طور یکپارچه کار می کند.
اگر آموزش قبلی در مورد مخفی کردن محصولات بدون قیمت ووکامرس را از دست دادید، میتواند مکان خوبی برای شروع درک نحوه عملکرد پرسوجوهای رسانه در وردپرس و ووکامرس باشد.
ووکامرس محصولات را بدون تصویر مخفی کنید
برای ایدهبرداری محصولات ووکامرس بدون تصاویر، باید یک قلاب اکشن و یک تابع callback ایجاد کنید که بررسی کند آیا مقدار تصویر کوچک محصول وجود دارد یا خیر.
اگر مقدار تصویر بندانگشتی خالی باشد، متا کوئری را بازنشانی می کنیم تا فقط آن محصولات را جدا از آنهایی که مقدار کلید تصویر کوچک را ندارند نشان دهد.
کد زیر نمونه ای است که به پنهان کردن تمام محصولات در صفحه فروشگاه بدون تصویر کمک می کند.
add_action( 'woocommerce_product_query', 'njengah_hide_products_without_image' ); function njengah_hide_products_without_image( $query ) { $query->set( 'meta_query', array( array( 'key' => '_thumbnail_id', 'value' => '0', 'compare' => '>' )) ); }
می توانید این کد را به functions.php تم خود اضافه کنید و محصولات را بدون تصاویر با موفقیت مخفی کنید.
پرس و جوهای متا وردپرس چگونه کار می کنند
اگر قبلاً با متا کوئری ها کار نکرده اید، باید از این منبع مفید توسعه وردپرس – WP_Meta_Query یاد بگیرید.
اساسا WP_Meta_Query کلاسی است که در wp-includes/meta.php تعریف شده است که SQL لازم را برای پرس و جوهای مرتبط با متا ایجاد می کند.
آرگومان های پذیرفته شده متا کوئری ها
آرگومان های زیر را می توان در یک آرایه جفت شده key=>value ارسال کرد.
- meta_key ( string ) – Custom field key. ( You must sanitize this yourself )
- meta_value (string|array) – Custom field value. ( You must sanitize this yourself )
- meta_type (string ) – Custom field type (see type below for options).
- meta_compare (string) – Operator to test the ‘meta_value’ (see compare below for possible values).
- meta_query ( array) – Contains one or more arrays with the following keys:
- key (string) – Custom field key.
- value ( string | array ) – Custom field value. It can be an array only when compare is ‘IN’, ‘NOT IN’ , ‘BETWEEN’ , or ‘NOT BETWEEN’ . You don’t have to specify a value when using the ‘EXISTS’ or ‘NOT EXISTS’ comparisons in WordPress 3.9 and up. ( Note: Due to bug #23268, value was required for NOT EXISTS comparisons to work correctly prior to 3.9. You had to supply some string for the value parameter. An empty string or NULL will NOT work. However, any other string will do the trick and will NOT show up in your SQL when using NOT EXISTS . Need inspiration? How about’bug #23268′.)
- compare( string ) – Operator to test. Possible values are ‘=’, ‘!=’, ‘>’, ‘>=’, ‘<‘, ‘<=’, ‘LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘EXISTS’ (only in WP >= 3.5), and ‘NOT EXISTS’ (also only in WP >= 3.5). Values ‘REGEXP’, ‘NOT REGEXP’ and ‘RLIKE’ were added in WordPress 3.7. Default value is ‘=’.
- ( string ) – Custom field type. Possible values are ‘NUMERIC’, ‘BINARY’, ‘CHAR’, ‘DATE’, ‘DATETIME’, ‘DECIMAL’, ‘SIGNED’, ‘TIME’, ‘UNSIGNED’. Default value is ‘CHAR’.
نتیجه
در این پست، من توضیح دادم که چگونه می توانید از متا کوئری برای مخفی کردن محصولات ووکامرس بدون تصویر با هدف قرار دادن آن استفاده کنید. ‘key’ => ‘_thumbnail_id’ , the key to check if the value is empty. This is the same approach we used in this post – ووکامرس محصولات را بدون قیمت پنهان می کند