【问题标题】:WP_Query Alter archive page QueryWP_Query 更改存档页面查询
【发布时间】:2014-08-29 15:37:35
【问题描述】:

我有一个场景,我想先获得特色属性,然后是其他没有特色的属性。如果属性是特色,我已经保存了一个带有 _property_featured 的 meta_key 和 1。 为此我使用 pre_get_posts 钩子,这里是代码

      function my_property_modify_query( $query ) {
         if ( is_post_type_archive('property') || is_tax('property_contracts')) {
             set_query_var( 'orderby', 'meta_value_num' );
             set_query_var( 'meta_key', '_property_featured' );
             set_query_var( 'ORDER', 'DESC' );
         }
      }
      add_action( "pre_get_posts", "my_property_modify_query" ); 

但它只显示特色属性任何建议他为什么这样做?

【问题讨论】:

    标签: wordpress meta-key


    【解决方案1】:

    请尝试将 meta_key 放在 orderby 参数之前。 而且我认为你不需要使用 meta_value_num 因为 1 只是一个标志,并且排序会给你一些奇怪的结果。

    【讨论】:

    • 我已经修复了它,基本上在 wp_postmeta 中,当我的帖子正在保存时,如果选中了特色复选框,它会将 _property_featured 保存为 1,否则它会删除 _property_featured meta_key,这就是它只显示特色属性的原因。现在我也将 _property_featured 保存为 0 并且有效!
    • 好的,所以只显示他们,因为其他帖子没有元数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多