WooCommerce - 隐藏没有图像的产品

时间:2018-04-13 04:19:39

标签: wordpress woocommerce product

我想要隐藏没有图像的woocommerce中的所有产品。

根据我的要求,任何人都可以知道合适的解决方案吗?

谢谢

2 个答案:

答案 0 :(得分:1)

你可以试试这个代码......有办法可以做到这一点,这就是一个。

function woocommerce_product_query( $q ) {
    $q->set( 'meta_key', '_thumbnail_id' );
}
add_action( 'woocommerce_product_query', 'woocommerce_product_query' );

这只会确保_thumbnail_id有值。

确保您的产品已空 enter image description here

有关更一般的代码,请使用此

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文件中