我创建了一个新的附加表,对与以下内容类似的帖子进行排名:
------------------
| post_id | rank |
| 6 | 3 |
| 4 | 1 |
| 5 | 2 |
------------------
我想对我网站的搜索结果中的帖子进行排序,以便按照此自定义表格的排名对其进行排序。我想利用WP的内置函数,但有没有办法使用$query->set()
?
if ($query->is_search) {
...
$query->set('orderby', ???);
...
}
答案 0 :(得分:1)
您最好的选择可能是使用posts_join
和posts_orderby
过滤器。
所以基本上,在post_id上加入你的新表并调整orderby。
https://codex.wordpress.org/Plugin_API/Filter_Reference/posts_join https://codex.wordpress.org/Plugin_API/Filter_Reference/posts_orderby