shortcodes

Cómo eliminar los Shortcodes huérfanos en WordPress

Los shortcodes son códigos cortos que habitualmente utilizamos en el editor de texto para obtener una funcionalidad avanzada en el contenido de nuestras entradas, páginas, widgets, etc… En el artículo Shortcodes: ¿Qué son y cómo crearlos? los vimos con detalle y ejemplos prácticos.

Muchos temas y plugins utilizan shortcodes por ejemplo para incluir formularios de contacto, galerías de imágenes, bloques de información y/o aviso, publicidad, información relacionada, etc… pero ¿qué pasaría si el día de mañana decides cambiar de tema o dejas de utilizar un plugin que hace uso de ellos porque encuentras uno nuevo más completo o que te gusta más que el anterior?

Pues lo primero que pasa es que esos shortcodes dejarán de funcionar. Es decir, si tienes un plugin para agregar galerías de imágenes que utiliza shortcodes del tipo [gallery-plugin id=”1”], en el momento que desactives el plugin, ese shortcode no se ejecutará, y en el contenido de tu entrada o página verás literalmente como una cadena de texto: [gallery-plugin id=”1”]. Cuando esto pasa decimos que el shortcode se ha quedado huérfano.

Ante esta situación, podrías ir página por página y entrada por entrada revisando en cuál de ellas utilizas éste shortcode y eliminarlo manualmente. Si son pocas páginas puedes planteártelo, pero si tienes una cantidad ingente de posts, es cuando debes pensar en otras alternativas. Para evaluarlo, puedes crear un shortcode en functions.php que busque en todas las entradas/páginas el/los shortcodes huérfanos:

Ahora crea una página nueva y escribe el shortcode [shortcodefinder find=’orphanshortcodeID’], donde orphanshortcodeID será el nombre de tu shortcode huérfano. Te mostrará un listado con todas las entradas y páginas donde se encuentra.

Si son muchas y te decides simplemente por ocultar el shortcode, añade en el functions.php o en tu plugin de utilidades la siguiente línea:

NOTA

Ésta línea no lo borrará del contenido, simplemente no lo mostrará. Si quisieras realmente borrarlo de la base de datos tendrías que ir post por post borrándolos manualmente, o si son muchos y tienes conocimientos avanzados de MySQL, hacer una query directamente en base de datos eliminando las coincidencias con tu shortcode mediante expresiones regulares, siempre sacando una copia de seguridad de la base de datos primero por si las moscas 😉

Como casi cualquier cosa en WordPress, también puedes usar un plugin para ocultar los shortcodes huérfanos. Te recomiendo Remove Orphan Shortcodes. No necesita configuración, simplemente busca shortcodes en el contenido (the_content) de tus entradas y páginas que coincidan con los declarados en la variable global $shortcode_tags, y en caso de encontrar alguno que no exista en $shortcode_tags, lo oculta.


¿Me invitas a un café?
Si te ha gustado el blog o algún artículo en concreto te ha ayudado a resolver una duda o problema que tenías…¿me invitas a un café?

Puede que también te interese

Seguridad WordPress: proteger el archivo wp-login.php
En una entrada anterior vimos cómo proteger el acceso a wp-admin. Vamos a ver ahora cómo proteger el archivo wp-login.php, situado en la raíz de…
Guía sobre WordPress term meta
El lanzamiento de la versión de WordPress 4.4 está previsto para el próximo 8 de diciembre. Trae consigo muchas novedades entre las que se encuentran…
He olvidado, perdido o borrado mi usuario o contraseña, o ambos
A quien no le ha ocurrido alguna vez que nos hemos olvidado o perdido nuestro usuario o contraseña, o ambos para acceder a un sitio…
Todo lo que hay que saber sobre las imágenes destacadas o post thumbnails en WordPress
Los post thumbnails o imágenes destacadas es una característica que se introdujo en la versión 2.9 de WordPress. Permite asignar una imagen representativa a las…