修改WordPress查询 - >在另一个表中按自定义价值排序

时间:2016-06-23 03:12:53

标签: mysql wordpress sorting

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

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

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

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

1 个答案:

答案 0 :(得分: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