wordpress query – Mostrar todas las publicaciones Insertar editar enlace

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım