标签:php sorting wordpress woocommerce product
我创建了一个简码以通过以下查询按类别显示产品:
$atts = shortcode_atts( array (
'type' => 'product',
'posts' => -1,
'category' => '',
), $atts, 'list_products' );
$query = new WP_Query( array(
'post_type' => $atts['type'],
'posts_per_page' => $atts['posts'],
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $atts['category'],
) ),
) );
一切都很好,但是当我使用自定义排序shown here对产品进行排序时,我尝试使用order by属性
我添加了:’orderby’=> “修改”,并尝试了here中的其他内容.
两个问题:
使用自定义排序时,我需要使用哪个属性来进行排序
和
将我的orderby属性添加到上述查询后,该怎么做?因为我使用过的哪个属性值始终按发布的降序进行排序.
解决方法:
当对Woocommerce产品使用自定义排序时,它将在menu_order列下的wp_posts数据库表中为每种产品设置一些值.
然后,您只需要添加’orderby’=> ‘menu_order’,在您的WP_Query中,因此在您的代码中:
$atts = shortcode_atts( array (
'type' => 'product',
'posts' => -1,
'category' => '',
), $atts, 'list_products' );
$query = new WP_Query( array(
'post_type' => $atts['type'],
'posts_per_page' => $atts['posts'],
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $atts['category'],
) ),
'orderby' => 'menu_order',
// 'order' => 'DESC',
) );
它将起作用(默认情况下,订单排序参数通常设置为ASC).
标签:php,sorting,wordpress,woocommerce,product 来源: https://codeday.me/bug/20191013/1907383.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。