我的客户有一个WooCommerce在线商店,目前显示他的产品(大约。600)按相反的时间顺序(最新的第一,最老的最后)。
问题是老产品没有销售,因为它们总是在页面底部,他的客户很少滚动到底部(很长的600种产品!)页面。
不幸的是,客户端不准备将产品分成类别或单独的页面。他还反对每次显示商店页面时随机启动的产品排序。
然而,他同意以下几点:
重要的是,post_meta标记的产品总是在页面的顶部。
我认为应该可以使用“pre_get_post”钩子应用自定义产品排序:
add_action( 'pre_get_posts', 'custom_vtp_shop_order' );
function custom_vtp_shop_order($q){
if ( ! $q->is_main_query() ) return;
if (! is_admin() && (is_shop() || is_archive) ) {
...do the magic here...
}
remove_action( 'pre_get_posts', 'custom_vtp_shop_order' );
}但我不知道怎么做。
这就是我要做的事:
4a。在偶数月份(二月、四月、六月等)按第一座、第三座、第四座订购我的产品;
4b。在个别月份(一月、三月、五月等)按第一座、第四座、第三座订购我的产品。
提前感谢您的帮助!
发布于 2017-12-05 20:15:48
听起来,您需要使用WP_Query进行三个单独的查询。
1st - products, filtered by '_product_new', sorted newest to oldest
2nd - products, sorted newest to oldest, limit to half of posts
3rd - products, sorted oldest to newest, limit to half of posts.您很可能需要重写存档-Product.php。我觉得这是最简单的方法。代码将相当广泛,但我想不出任何其他方法,您会正确地这样做。
https://stackoverflow.com/questions/47656181
复制相似问题