我想要隐藏没有图像的woocommerce中的所有产品。
根据我的要求,任何人都可以知道合适的解决方案吗?
谢谢
答案 0 :(得分:1)
你可以试试这个代码......有办法可以做到这一点,这就是一个。
function woocommerce_product_query( $q ) {
$q->set( 'meta_key', '_thumbnail_id' );
}
add_action( 'woocommerce_product_query', 'woocommerce_product_query' );
这只会确保_thumbnail_id
有值。
有关更一般的代码,请使用此
function pre_get_posts( $q ) {
if ( !is_admin() && $q->is_main_query() && ( $q->get('post_type') == 'product' ) ) {
$q->set( 'meta_key', '_thumbnail_id' );
}
}
add_action( 'pre_get_posts', 'pre_get_posts' );
但是你应该小心这一点,因为它也适用于前端的所有产品类型查询。您可能会得到意想不到的结果,这就是if
语句中有很多原因,但可能需要更多。
答案 1 :(得分:0)
WooCommerce中有很多hooks and filters
可用。您可以使用它们并修改或更新功能。
Action and Filter Hook Reference in WooCommerce
请使用挂钩woocommerce_product_query
将您的查询修改为:
add_action( 'woocommerce_product_query', 'noimage_pre_get_posts_query' );
function noimage_pre_get_posts_query( $query ) {
$query->set( 'meta_query', array( array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '>'
)));
}
将其放入WordPress主题的functions.php
文件中