如何解决默认情况下,在商店页面上随机显示WooCommerce产品
我正在尝试使用以下代码在我的商店页面上随机显示产品:
add_filter('woocommerce_get_catalog_ordering_args','set_sort_order');
function set_sort_order($args) {
$args['orderby'] = 'rand';
return ($args);
}
但是此代码使产品类别页面随机化,但是我只需要存储页面-首页。不在产品类别页面上。我该怎么办?
解决方法
使用以下内容代替,仅在商店归档页面上对产品进行随机排序:
// Set default orderby query to "rand" option for shop archive pages
add_filter('woocommerce_get_catalog_ordering_args','shop_default_orderby_rand');
function shop_default_orderby_rand($args) {
if( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
$args['orderby'] = 'rand';
return ($args);
}
}
或者您也可以使用此功能:
// Set default orderby query to "rand" for shop archive pages
add_action( 'pre_get_posts','shop_default_orderby_rand' );
function shop_default_orderby_rand( $query ) {
if ( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
$query->set( 'orderby','rand' );
}
}
将代码插入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。