wordpress 在WooCommerce商店页面中对没有缩略图的产品进行排序

wdebmtf2  于 9个月前  发布在  WordPress
关注(0)|答案(2)|浏览(133)

我想创建一个函数,而不是隐藏没有缩略图的产品,将以这样一种方式排序,即具有突出显示图像的产品首先出现在商店页面上,而没有突出显示图像的产品出现在最后。我试图修改一个已经existing function

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

字符串
我尝试添加orderby到这个已经存在的功能,但什么也没有发生,继续向我隐藏产品。
在这张照片的功能只隐藏产品没有缩略图.我不知道如何解决.

cld4siwp

cld4siwp1#

我已经实现了代码,但排序是按顺序完成的。虽然我想按产品进入日期排序:

function my_shop_custom_products_query( $q ) {
        $q->get( 'meta_key', '_thumbnail_id' );
        $q->set('orderby', 'meta_value');
        $q->set('order', 'DESC');
        $q->set( 'meta_query', array(  'relation' => 'OR', array(
            
           'orderby' => 'meta_value',
            'order' => 'DESC',
            'key' => '_thumbnail_id',
           'compare' => 'NOT EXISTS',
     //  'value' => '0'       
  
        ),
  array(
     'key' => '_thumbnail_id',
           'compare' => '>=',
       'value' => '0',       
  'orderby' => 'meta_value',
       'order' => 'DESC'
  )),
); 
}

add_action( 'woocommerce_product_query', 'my_shop_custom_products_query' );

字符串

oewdyzsn

oewdyzsn2#

这对我来说很有效,在value中,你需要输入占位符图像的当前ID。但是这种排序使得产品的加载变得更糟;/我有大约25 k个产品.

function my_shop_custom_products_query( $q ) {
    $q->set( 'meta_key', '_thumbnail_id' );
    $q->set('orderby', 'meta_value_num');
    $q->set('order', 'DESC');
    $q->set( 'meta_query', array( array(
       'key' => '_thumbnail_id',
       'compare' => '!=',
       'value' => '31594'
    )));
}
add_action( 'woocommerce_product_query', 'my_shop_custom_products_query' );

字符串

相关问题