Eliminar Campos Personalizados de WordPress con SQL

Con el tiempo he tenido una gran cantidad de Campos Personalizados (Custom Fields) que se han ido agregando a la base de datos por algunos plugins o funciones que he dejado de usar. Para eliminar estos Campos Personalizados que ya no se utilizan, se necesita examinar la tabla wp_postmeta e ir registro por registro haciendo clic en la opción de eliminar, cosa que detesto.

Este método es factible si se tiene sólo uno o dos posts, los cuales se ven afectados, pero ¿qué pasa si tienes cientos, miles de posts? ¿Vas a eliminar cada campo personalizado de forma manual?. Eso sería un proceso muy lento y complicado. Por suerte en el mundo de las base de datos SQL las cosas no funcionan así, por lo que hay una opción más rápida para hacer este tipo de cosas y es interactuando de forma directa con la base de datos de wordPress para usar los comandos que SQL nos ofrece para seleccionar y eliminar registros de las tablas.

Cuando se eliminan estos registros indeseados de la base de datos nos ahorramos espacio en disco y hacemos que el motor de MySQL se esfuerze menos cuando se realizan consultas a la base de datos, nos ahorramos consumo de memoria, etc.

Nota: Antes de comenzar a utilizar los comandos de SQL, asegúrate de hacer una copia de seguridad de la base de datos, por si acaso.

Lo primero que debes hacer es acceder a tu Cuenta de Hosting -> cPanel -> phpMyAdmin, para poder acceder a la herramienta de consultas SQL a menos que tengas acceso por SSH a tu servidor y quieras utilizar la consola, cosa que no creo.

Si lo que estas buscando es eliminar Campos Personalizados con el nombre meta_description u otro nombre, usamos el comando select. Por e.j. quiero seleccionar el meta_key con el nombre meta_description para ver una lista de todos los registros relevantes.

SELECT * FROM 'wp_postmeta' WHERE 'meta_key' = 'meta_description'

Después de haber seleccionado lo que quieres y estas seguro de que esos son los campos personalizados que quieres eliminar, con el comando delete puedes eliminar los datos de la siguiente forma:

DELETE * FROM 'wp_postmeta' WHERE 'meta_key' = 'meta_description'

Siempre es bueno asegurase de que todo va bien, así que selecciona otra vez para verificar que todos los registros se han eliminado con éxito.

SELECT * FROM 'wp_postmeta' WHERE 'meta_key' = 'meta_description'

Si no te devuelve ningún resultado, significa que se eliminaron correctamente los registros.

Recomendado