【问题标题】:Modifying WordPress Query --> Order By Custom Value In Another Table修改 WordPress 查询 --> 按另一个表中的自定义值排序
【发布时间】:2016-10-25 04:51:08
【问题描述】:

我创建了一个新的附加表格,用于对与以下类似的帖子进行排名:

------------------
| post_id | rank |
| 6       | 3    |
| 4       | 1    |
| 5       | 2    |
------------------

我想对我网站搜索结果中的帖子进行排序,以便按照此自定义表格中的排名对其进行排序。我想利用 WP 的内置功能,但有没有办法使用 $query->set() 来做到这一点?

if ($query->is_search) {
    ...
    $query->set('orderby', ???);
    ...
}

【问题讨论】:

    标签: mysql wordpress sorting


    【解决方案1】:

    您最好的选择可能是使用posts_joinposts_orderby 过滤器。

    所以基本上,在 post_id 上加入你的新表并调整 orderby。

    https://codex.wordpress.org/Plugin_API/Filter_Reference/posts_join https://codex.wordpress.org/Plugin_API/Filter_Reference/posts_orderby

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2014-07-30
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      相关资源
      最近更新 更多