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

问题描述 投票:0回答:2

我想创建一个功能,不是隐藏没有缩略图的产品,而是以这样的方式排序:具有突出显示图像的产品首先出现在商店页面上,而那些没有突出显示图像的产品出现在最后。我尝试修改已经存在的功能

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

 添加到这个已有的功能中,但没有任何反应,继续向我隐藏产品。

在这张照片中,该功能仅隐藏产品,没有缩略图。 我不知道如何解决...

Shop page

php wordpress function sorting woocommerce
2个回答
0
投票
我已经实现了代码,但排序是按字母顺序完成的。虽然我想按产品进入日期排序:

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' );
    

0
投票
这对我有用,在

value

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

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' );
    
© www.soinside.com 2019 - 2024. All rights reserved.