看看这是否行得通:
首先,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
如果你想搜索这些。