使用字段名作为元键的查询与使用orderby字段的查询有什么不同?

时间:2019-04-16 作者:pressword

我试图找出wp\\U查询的这两个参数设置之间的实际差异

      $today= date(\'Ymd\');
      $homepageEvents = new WP_Query(array(
        \'post_type\' => \'event\',
        \'posts_per_page\' => -1,
        \'orderby\' => \'meta_value_num\',
        \'meta_key\' => \'event_date\',
        \'order\' => \'ASC\',
        \'meta_query\' => array(
          array(
            \'key\' => \'event_date\',
            \'compare\' => \'>=\',
            \'value\' => $today,
            \'type\' => \'numeric\'
          )
        )
      ));
vs公司

      $today= date(\'Ymd\');
      $homepageEvents = new WP_Query(array(
        \'post_type\' => \'event\',
        \'posts_per_page\' => -1,
        \'orderby\' => \'event_date\',
        \'order\' => \'ASC\',
        \'meta_query\' => array(
          array(
            \'key\' => \'event_date\',
            \'compare\' => \'>=\',
            \'value\' => $today,
            \'type\' => \'numeric\'
          )
        )
      ));
唯一的区别在于,它被设置为orderby 使用参数meta_value_num 然后需要在字段名中添加一个元键集。另一方面orderby 只使用字段名本身。

这是否会导致相同的查询,或者我问了两个恰好有相同答案的问题?

1 个回复
最合适的回答,由SO网友:Antti Koskinen 整理而成

我想说这是两种不同的情况。

如果我正确理解了抄本,没有遗漏任何内容,meta_valuemeta_value_num 是的有效值orderby, 但直接使用元字段名/键不是。您需要将字段名添加为meta_key 查询参数的参数。

orderby 默认为date 我认为这两种设置可能会产生类似的结果。

相关法典条目https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

如果元键是的有效值orderby, 那对我来说,这是一件新鲜事。谢谢

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post