当我在tinyMCE富编辑器中单击插入/编辑一篇文章的链接时,然后单击“或链接到现有内容”,它只显示实时发布的文章。有没有一种方法可以让搜索到的列表同时包含未来和草稿帖子?我需要在不修改任何核心文件的情况下执行此操作,是否可以使用挂钩来修改所调用的查询?
显示所有帖子插入编辑链接
1 个回复
SO网友:s_ha_dum
看看这是否行得通:
首先,Ajax搜索的回调(wp_link_query
中的方法wp-includes/class-wp-editor.php
) 抑制常规过滤器。对于这个特定的查询,我们必须重新打开它们。
function undo_suppress($qry) {
global $_POST;
if (isset($_POST[\'action\']) && \'wp-link-ajax\' == $_POST[\'action\']) {
$qry->set(\'suppress_filters\',false);
}
}
add_action(\'pre_get_posts\',\'undo_suppress\');
现在我们可以使用posts_where
筛选以启用对“未来”帖子的搜索。function search_future_editor_links($where) {
global $_POST;
if (isset($_POST[\'action\']) && \'wp-link-ajax\' == $_POST[\'action\']) {
$where = \' AND wp_posts.post_type IN ("post","page","attachment") AND wp_posts.post_status IN ("publish","future") \';
}
return $where;
}
add_filter(\'posts_where\',\'search_future_editor_links\');
你可以在最后添加“草稿”IN
如果你想搜索这些。结束