使用元密钥价格使用WP查询进行查询

时间:2014-12-17 作者:user64914

谁能告诉我我的WP查询有什么问题吗?我试图按价格订购我的帖子,价格是ACF(一个文本框,里面有一个数字)

            $args = array (
                \'post_type\'     => \'product\',
                \'post__in\'      => $post_ids,
                \'posts_per_page\' => -1,
                \'order\' => \'ASC\',
                \'orderby\' => \'meta_value\',
                \'meta_key\' => \'tour_price\',
                \'meta_query\' => array(
                   array(
                   \'key\'       => \'tour_price\',
                   \'compare\'   => \'=\',
                   \'type\'      => \'NUMERIC\',
                   )
                ),
            );

2 个回复
最合适的回答,由SO网友:Bindiya Patoliya 整理而成

\'meta_value_num\' - 按数值元值排序(2.8版提供)。还请注意\'meta_key=keyname\' 查询中也必须存在。此值允许进行数字排序,如中所述\'meta_value\'.

试着这样使用:

 $args = array (
            \'post_type\'     => \'product\',
            \'post__in\'      => $post_ids,
            \'posts_per_page\' => -1,
            \'order\' => \'ASC\',
            \'orderby\' => \'meta_value_num\',
            \'meta_key\' => \'tour_price\',
            \'meta_query\' => array(
               array(
               \'key\'       => \'tour_price\',
               \'compare\'   => \'=\',
               \'type\'      => \'NUMERIC\',
               )
            ),
        );

SO网友:Robert hue

你不需要meta_query 在代码中。也不需要像这样检查元字段的数值。要按数值排序,请在orderby 参数,您应该使用meta_value_num 相反

所以这将是你的WP_Query.

$args = array (
  \'post_type\'    => \'product\',
  \'post__in\'      => $post_ids,
  \'posts_per_page\' => -1,
  \'order\' => \'ASC\',
  \'orderby\' => \'meta_value_num\',
  \'meta_key\' => \'tour_price\',
);

结束

相关推荐

WP_QUERY-对象操作与WordPress函数

虽然这可能是基于意见的,但必须有某种一致的方式/优化的方式来处理来自WP_Query. 例如,获得帖子标题的“最佳”方式是什么?$query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); $choice1 = get_the_title