Avisos
Vaciar todo

Eliminar todos los shortcodes y etiquetas html de todos los posts de un wordpress  

 
Lolo Marchal
 Lolo Marchal
Usuario activo

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

  • o todas las etiquetas html en todos los posts.
  • 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

    Citar
    Respondido : 23/12/2017 4:49 pm
    Luis Mendez Alejo
     Luis Mendez Alejo
    Miembro Admin

    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

    ResponderCitar
    Respondido : 24/12/2017 2:20 am

    optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

    Lolo Marchal
     Lolo Marchal
    Usuario activo

    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:

    1. Busca el carácter "[" en todos los posts y páginas..
    2. Selecciona texto hasta que te encuentres un carácter "]"
    3. Borra el texto seleccionado
    4. Vuelve a empezar hasta que no encuentres nada.

    ¿Se puede hacer esto con algún script php o con phpmyadmin?

    De nuevo gracias por la ayuda.

    ResponderCitar
    Respondido : 24/12/2017 11:46 am
    Pepe
     Pepe
    Soporte CMS Webempresa Admin

    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

    ResponderCitar
    Respondido : 24/12/2017 12:18 pm

    Cursos Gratuitos WordPress

    Lolo Marchal
     Lolo Marchal
    Usuario activo

    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.

    ResponderCitar
    Respondido : 24/12/2017 12:35 pm
    Pepe
     Pepe
    Soporte CMS Webempresa Admin

    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

    ResponderCitar
    Respondido : 24/12/2017 1:09 pm

    Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

    Lolo Marchal
     Lolo Marchal
    Usuario activo

    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,'[%]','');

    ResponderCitar
    Respondido : 24/12/2017 1:12 pm
    Pepe
     Pepe
    Soporte CMS Webempresa Admin

    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

    ResponderCitar
    Respondido : 24/12/2017 1:49 pm

    Lolo Marchal
     Lolo Marchal
    Usuario activo

    Ese es el caso, que no es así. No lo hace.

    Cuando buscas [%] no encuentra las cadenas [texto], así que no la reemplaza.

    ResponderCitar
    Respondido : 24/12/2017 2:19 pm
    Luis Mendez Alejo
     Luis Mendez Alejo
    Miembro Admin

    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

    ResponderCitar
    Respondido : 24/12/2017 10:31 pm

    wpdoctor-revisa-la-salud-de-tu-wordpress

    Lolo Marchal
     Lolo Marchal
    Usuario activo

    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.

    ResponderCitar
    Respondido : 04/01/2018 2:33 pm