Hola, tengo que limpiar una instalación de wordpress que está plagada de shortcodes y etiquetas html.
He intentado buscar un plugin que me permita hacerlo, pero lo único que encuentro es la forma de "ocultarlos" pero siguen estando ahí.
También he encontrado el plugin Search Regex con el que se pueden hacer búsquedas de cadenas con expresiones regulares de wordpress, pero no encuentro ninguna expresión regular que seleccione todos los shortcodes
Me gustaría saber si existe algún plugin o forma rápida de eliminar todo esto de un plumazo.
Gracias por la ayuda que puedan ofrecerme.
URL del sitio: Contenido solo visible a usuarios registrados
Hola
Mediante un plugin lo tienes algo complicado, a menos que utilices algo tipo Better Search Replace, busques la cadena afectada y la sustituyas por "nada" (vacío).
Digo que lo tienes complicado porque tendrás que ejecutar de uno en uno cada reemplazo. Si es un único shortcode bien, pero si son muchos o uno con muchas variantes, tendrás que repetir la operación por cada shortcode diferente a eliminar.
Otra opción es hacerlo desde phpMyAdmin, usando sentencias SQL como hice yo por ejemplo en este artículo:
- https://gnumax.org/elimina-qtranslate-x-en-wordpress-adios-codigos-huerfanos/
Saludos
Muchas gracias por la respuesta Luis.
Sí, me había temido que existía algo así. He probado con better search replace y con Search RegEx, pero al ser tantísimos shortcodes diferentes y con variantes, la tarea sigue siendo extensa.
Quizá se podría hacer un script que hiciera algo así como esto:
¿Se puede hacer esto con algún script php o con phpmyadmin?
De nuevo gracias por la ayuda.
Hola Lolo.
Podrías con una consulta en la BD como te indica mi compañero alejo.
En la entrada que te paso tienes un ejemplo, seria buscar las tablas afectadas y realizar una consulta con un REPLACE
No atendemos consultas de Programación o de MySQL en el foro, después de nuestra experiencia de varios años atendiendo esta clase de consultas nos encontramos que la mayoría de usuarios acaban "estropeando" sus webs o bien por hacer modificaciones que luego no funcionan en los diferentes navegadores o bien por hacer modificaciones que acaban empeorando la plantilla o dejándola inoperativa.
Un saludo
Buenas.
He entendido lo que decía Luis, pero el problema es que en mi caso no es uno o dos shorcodes diferentes, sino miles y con variantes y no encuentro una forma de crear una consulta que empiece a eliminar caracteres cuando encuentre un [ y pare cuando encuentre un ].
Voy a ver si encuentro valores comodín o algo así en las consultas SQL. Algo así como
En este caso da un poco igual si se estropea la web, porque tengo copias de seguridad y estamos empezando. Si se estropea, hago un restore a como estaba ayer y ya está, o en el peor de los casos, empiezo de nuevo, porque todavía está el diseño apenas comenzado y tardo poco en dajarla como está ahora.
Gracias de todas formas por la ayuda.
Hola Lolo.
Seria primero realizar una búsqueda de la cadena que quieres modificar:
.- Selecciona Buscar
.- En la opción " Palabras o valores a buscar " añades la cadena que quieres buscar y seleccionas todas las tablas
Una vez encontrada las tablas a las que hace referencia seria utilizar una consulta:
UPDATE tabla_afectada SET meta_value = REPLACE(meta_value,'[:es]','');
Tienes que añadir la tabla a la que hace referencia y modificar " [:es] " por la la cadena que buscas.
Un saludo
Perdona, pero de nuevo, creo que no entiendes lo que estoy preguntando.
Yo no quiero buscar y sustituir un determinado shortcode, eso ya lo sé hacer. Lo que busco es buscar y sustituir TODOS LOS SHORTCODES.
Según veo se puede utilizar el carácter % como comodín para hacer eso mismo, pero si busco la cadena [ % ], no me está seleccionando los shortcodes y no sé por lo que es.
Esta es la sentencia que estoy utilizando, que en teoría, debería localizar todos los shortcodes y sustituirlos por nada:
UPDATE wp_posts SET post_content = REPLACE (post_content,'[%]','');
Hola Lolo.
Claro que te entiendo pero tienes que modificaros por cadenas, si que puedes modificar toda una cadena que este en diferentes tablas.
UPDATE tabla1, tabla2, tabla3
Lo que va entre corchetes es la cadena que quieres buscar, en el caso que nos muestras reemplaza todo lo que tenga % por una cadena vacía.
Revisa lo siguiente _> https://www.thezilus.com/buscar-y-reemplazar-cadenas-de-texto-totales-o-parciales-en-mysql
Ese es el caso, que no es así. No lo hace.
Cuando buscas [%] no encuentra las cadenas [texto], así que no la reemplaza.
Hola,
¿Donde buscas la cadena [%] en phpMyAdmin?, ¿puedes ilustrarlo en una captura?, ¿seleccionas todas las tablas para aplicar la búsqueda? ...sino como sabe la sentencia donde tiene que buscar??
Saludos
Perdonad la tardanza en contestar.
Al final hemos desistido y lo estamos haciendo a mano.
De todas formas, me sorprende que no exista un plugin que haga esto, no debe de ser fácil.
Gracias de todas formas por vuestra inestimable ayuda.