Pregunta:
Cuando hago clic para insertar / editar un enlace en el editor enriquecido de tinyMCE para una publicación, luego hago clic en "O vincular a contenido existente", solo muestra las publicaciones que están en vivo y publicadas. ¿Hay alguna forma de obtener la lista que se busca para incluir también publicaciones futuras y en borrador? Necesito hacer esto sin modificar ningún archivo principal, ¿hay algún gancho al que pueda acceder para modificar la consulta llamada?
Respuesta:
Vea si esto no lo hace:
Primero, la devolución de llamada para esa búsqueda Ajax (el método wp_link_query
en wp-includes/class-wp-editor.php
) suprime los filtros normales. Tenemos que volver a activarlos para esta consulta en particular.
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');
Ahora podemos usar el filtro posts_where
para habilitar búsquedas en publicaciones 'futuras'.
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');
Podrías agregar "borradores" a ese último IN
si también quisieras buscarlos.