发布于 2017-03-09 10:12:13
产品有一个自定义字段为
_featured,对于功能产品设置为no,对于非功能产品设置为no。因此,您可以使用woocommerce_shortcode_products_query筛选器覆盖WooCOmmerce短代码。
add_filter('woocommerce_shortcode_products_query', 'wh_woocommerce_shortcode_products_orderby');
function wh_woocommerce_shortcode_products_orderby($args)
{
$standard_array = ['menu_order', 'title', 'date', 'rand', 'id'];
// print_r($args['orderby']);
if (isset($args['orderby']) && !in_array($args['orderby'], $standard_array))
{
$args['meta_key'] = '_featured';
$args['orderby'] = 'meta_value_num';
}
// print_r($args);
return $args;
}代码在您的活动子主题(或主题)的function.php文件中。也可以在任何插件php文件中。
使用
列出非功能产品表单(即从yes到no)
[product_category category="products" orderby="_featured" order="DESC"]请注意:上面的代码似乎是有效的,但是如果您打印$args['orderby'],它没有显示_featured键,所以我硬编码,它在$args__中。这不是一种标准的方式。
希望这能有所帮助!
https://stackoverflow.com/questions/42691587
复制相似问题