gpt4 book ai didi

php - 按 WP_Query 中的自定义 Woocommerce 产品排序排序

转载 作者:行者123 更新时间:2023-12-02 14:59:26 25 4
gpt4 key购买 nike

我已经创建了一个短代码来使用以下查询按类别显示产品:

$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

我添加了:'orderby' => 'modified',尝试了 here 中的一些其他内容.

两个问题:

使用自定义排序需要使用哪个属性来排序

添加到上述查询后,我需要做什么才能使我的 orderby 属性起作用?因为无论我使用哪个属性值,它总是按发布的降序排序。

最佳答案

当您对 Woocommerce 产品使用自定义排序时,它会在 menu_order 列下的 wp_posts 数据库表中为每个产品设置一些值。

然后你只需要在你的 WP_Query 中添加 'orderby' => 'menu_order',,所以在你的代码中:

$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',
) );

它将起作用(默认情况下 order 排序参数通常设置为 ASC)

关于php - 按 WP_Query 中的自定义 Woocommerce 产品排序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50937078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com