Cómo excluir y añadir tipos de contenido en el buscador interno de enlaces de WordPress

Casi no sabía cómo explicar de lo que va este artículo, así que empezamos por el principio…

El sistema de enlazado interno del editor de WordPress

Por si no lo sabes, en el editor de WordPress, en el icono de insertar enlace a un texto que tengas seleccionado, o sin texto, te sale una cajita en la que puedes pegar un enlace, pero esa cajita también sirve de buscador ¿me sigues?

Mira, te lo explico en un vídeo cortito:

El problema con el enlazado interno del editor

Pues bien, resulta que ese buscador de enlazado interno del editor de WordPress, busca en todos los tipos de contenido que estén registrados en tu sitio.

Así, si en tu web tienes entradas, páginas, foros, productos, el sistema buscará en todos esos tipos de contenido y te mostrará resultados en todos ellos en los que aparezca tu palabra clave, como en la siguiente captura, en la que puedes ver que aparecen entradas, pero también debates y respuestas de foros bbPress.

Pues bien, este comportamiento por defecto en ocasiones es un engorro, sobre todo si tienes claro que solo quieres enlazar, por ejemplo, a entradas y páginas.

La solución

Así que si queremos que solo salgan ciertos tipos de contenido algo tendremos que hacer ¿no?

Pues la solución pasa por crear una query que cambie el comportamiento por defecto del buscador integrado en el sistema de enlaces del editor, para que solo busque en los tipos de contenido que nosotros queramos.

Para ello tienes que crear una función como la siguiente:

Aunque es bastante auto explicativo, en el código anterior creamos una función que añade un filtro a wp_link_query_args para que solo haga la consulta en los tipos de contenido ( $query['post_type'] ) que le indiquemos en el array , que en el ejemplo son post (entradas), page  (páginas) y product  (productos de WooCommerce).

El código anterior puedes añadirlo al archivo functions.php del tema activo o a tu plugin de personalizaciones varias.

El resultado es que ya no se mostrarán en el buscador de enlazado interno otros tipos de contenido…

¿No se puede hacer al revés, quitando tipos de contenido?

Pues sí, el código cambiaría a algo así:

En este ejemplo simplemente quito del buscador el tipo de contenido product  de WooCommerce. Todos los demás se mostrarán como resultados, si es que hay.

¿Es bueno hacer esta personalización en el buscador del enlazado interno del editor?

Sin ningún tipo de duda.

No solo vas a encontrar antes contenido propio al que enlazar, quitando de enmedio tipos de contenido que no quieres enlazar, también la experiencia será más fluida, porque el buscador cargará más rápido, al tener que hacer la consulta en menos tipos de contenido.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(6 votos, promedio: 5)
¿Te gustó este artículo? ¡No sabes lo que te estás perdiendo en YouTube!

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Mi último libro es WordPress - La guía completa. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera. Sigue a @fernandot en Twitter

Comparte esta entrada en
468 ad

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas, si ya estás suscrito a nuestra newsletter, para reconocer el estado de tu sesión si la tuvieses y para servir más rápidos los contenidos.

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

JSESSIONID, _cfuid, wpSGCachePypass, mailerlite, gdpr, gawp
mailerlite, _cfuid

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID, disqus_unique, disqusauth
disqus_unique, disqusauth
1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID

Ir al contenido