【问题标题】:Ordering WP Posts by Custom Meta Key通过自定义元键订购 WP 帖子
【发布时间】:2011-09-03 00:15:26
【问题描述】:

我创建了一个 WordPress 自定义帖子类型,以便能够创建活动、选择活动日期并在前端显示日期。

我在 WP 数据库的 postmeta 中添加了一个新的 meta_key,以将事件的日期存储在 UNIX 时间戳中。

我在创建新的 WP 查询以在我的网站上输出我的事件时没有遇到任何问题,但我试图弄清楚如何通过数据库中的 UNIX 时间戳而不是 WordPress 创建事件的日期来组织事件.

我似乎无法理解这件事......有什么建议吗?

【问题讨论】:

    标签: wordpress unix-timestamp getdate


    【解决方案1】:

    更好地使用pre_get_posts:

    function ta_modify_main_query($query) {
       if ($query->is_main_query()) {
           $query->set('orderby', 'meta_value_num');
           $query->set('meta_key', '_liked');
           $query->set('order', 'DESC');
       }
    }
    
    add_action( 'pre_get_posts', 'ta_modify_main_query' );
    

    【讨论】:

      【解决方案2】:

      我相信你的查询可以有

      'orderby' => 'meta_value_num',
      'meta_key' => 'event_timestamp' //or whatever your meta_key is
      

      你可以在这里阅读:http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

      【讨论】:

      • 哇!我忽略了这些论点.. 谢谢!
      • 不客气。从 WP 3.1 开始,还有一个 meta_query 参数,但它很复杂。
      • 只是想把我的两分钱加在这里给其他可能在未来找到这个答案的人。如果使用不正确(自动),插件“Post Type Reorder”可能会干扰此自定义排序。我花了很长时间才弄清楚这一点。
      • 这对我帮助很大。谢谢!
      • 你拯救了我的一天!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      相关资源
      最近更新 更多