我想通过在[products ids =“”]短代码中输入的ID来订购产品展示。我需要它按照您输入的顺序进行排序。所以... [产品ids =“ 1,2,3”] [产品ids =“ 3,1,2”] [产品ids =“ 2,3,1”] ...所有列表都不同。
我发现这段代码我认为很接近,但效果不佳。我对这种方法不是很熟悉,所以不确定什么地方不对。
add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby' );
function woocommerce_shortcode_products_orderby( $args ) {
$standard_array = array('menu_order','title','date','rand','id');
if( isset( $args['orderby'] ) && !in_array( $args['orderby'], $standard_array ) ) {
$args['orderby'] = 'post__in';
}
return $args;
我在post__in上阅读了内容,但不确定如何获取输入的ID列表。还有另一种/更好的方法来获取该ID列表并将其用于订单吗?
关于如何使该功能正常工作的任何想法?
答案 0 :(得分:1)
只需在您的短代码中添加订单,例如-
[products ids="1,2,3" orderby="post__in"]
[products ids="3,1,2" orderby="post__in"]
[products ids="2,3,1" orderby="post__in"]