shortcode-not-rendered

Cómo eliminar el código abreviado no utilizado de las publicaciones [WordPress]

En WordPress, si ha usado muchos complementos, seguramente encontrará algunos que requieren que ingrese un código abreviado en la publicación, como [shortcode_1], para que funcione. El uso de shortcode puede ser una buena manera de agregar funcionalidad a su sitio, pero cuando desactiva el complemento, el shortcode en su contenido no se elimina y aparecerá en la interfaz sin procesar.

Así es como se ve en su forma sin procesar:

código abreviado no renderizado

Hay varias formas de eliminar el shortcode no utilizado de su sitio:

1. Eliminar el shortcode de la base de datos

Si sabe qué shortcode en particular desea eliminar y desea eliminarlo permanentemente de su base de datos, simplemente puede hacer una consulta SQL con el siguiente comando:

UPDATE wp_post SET post_content = REPLACE(post_content, '[shortcodename]', '' ) ;

Reemplace «shortcodename» con el shortcode que desea eliminar.

Nota: Este no es un método infalible porque diferentes códigos abreviados pueden venir con diferentes atributos y valores, lo que dificulta la formación de una consulta SQL general.

2. Reemplace el código abreviado con un valor vacío

Si sabe qué shortcode eliminar, pero no desea eliminarlo de forma permanente, puede obtener un valor vacío en su lugar. Pegue el siguiente código al final del functions.php archivo (antes de la ?> etiqueta) en la carpeta de su tema.

add_shortcode('shorcodename', 'mte_return_empty_shortcode');
function mte_return_empty_shortcode(){
	return '';
}

Reemplace el «nombre de código abreviado» con el código abreviado que desea eliminar.

Nota: Este es un buen método solo si sabe qué código abreviado va a eliminar. También debe asegurarse de que el código abreviado ya no esté activo, de lo contrario, podría generar un conflicto.

3. Eliminar todos los códigos cortos no utilizados del contenido (recomendado)

Si tiene un montón de códigos abreviados que ya no usa y no puede recordar el nombre de todos los códigos abreviados, aquí hay una forma definitiva de deshabilitar todos los códigos abreviados no utilizados en su contenido.

Pegue el código al final de su functions.php justo antes de la ?> etiqueta.

add_filter('the_content', 'mte_remove_unused_shortcode');
function mte_remove_unused_shortcode($content)
{	$pattern = mte_get_unused_shortcode_regex();
	$content = preg_replace_callback( '/'. $pattern .'/s', 'strip_shortcode_tag', $content );
	return $content;	
}
 
function mte_get_unused_shortcode_regex() {
	global $shortcode_tags;
	$tagnames = array_keys($shortcode_tags);
	$tagregexp = join( '|', array_map('preg_quote', $tagnames) );
	$regex = '\\[(\\[?)';
	$regex .= "(?!$tagregexp)";
	$regex .= '\\b([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)';
	return $regex; 
}

Lo que hace el código anterior es recuperar primero la lista de todos los códigos cortos activos, buscar en el contenido códigos cortos que no coincidan con la lista de códigos cortos activos y eliminar los códigos cortos. Se modifica desde el get_shortcode_regex función que verifica el shortcode activo.

Nota: Este método debería funcionar para todos los códigos abreviados no utilizados y no elimina el código abreviado de forma permanente. La próxima vez que vuelva a activar el complemento, su código abreviado respectivo seguirá funcionando automáticamente. Por otro lado, este código eliminará todo el contenido que se cita entre «[” and “]” etiqueta.

Experto Geek - Tu Guía en Tendencias Tecnológicas