Deshabilitar los comentarios en todas las entradas
Esta noche, realizando el mantenimiento de un sitio que administro, he tenido que desactivar los comentarios y los pings de todas las entradas existentes. En principio pensaba que desactivándolo desde las opciones se propagaba a todas las entradas, pero esto no es así puesto que esa configuración se guarda en cada entrada y no es un ajuste global. Me he puesto a investigar y en el blog de Vicente Navarro he hallado la solución al problema:
- Vamos al phpMyAdmin de la base de datos de WP y pulsamos sobre la pestaña SQL
- En el cuadro de texto que nos aparece escribimos esto:
UPDATE wp_posts SET comment_status = 'closed', ping_status = 'closed' WHERE comment_status = 'open'; - ¡Listo! Ya tenemos deshabilitados los comentarios y los pings en todas nuestras entradas.
Cuando quieras volver a habilitarlo tendrás que escribir esto:
UPDATE wp_posts SET comment_status = 'open', ping_status ='open' WHERE comment_status = 'closed';
Para aquel que no entienda el código, os lo explico:
- UPDATE wp_posts: Le estamos diciendo al phpMyAdmin que queremos modificar la tabla wp_post (esta tabla es donde WP guarda la configuración de los comentarios).
- SET comment_status = ‘closed’, ping_status = ‘closed’: Con esto ponemos en los parametros comment_status (los comentarios) y ping_status (los pings) el valor closed (cerrado).
- WHERE comment_status = ‘open’: Con esto le decimos solamente se modifiquen aquellos paremetros que tengan como valor open (abierto).
Ahora que ya sabemos como funciona podemos jugar con el código. Por ejemplo, si solamente queremos deshabilitar los pings sería esto: UPDATE wp_posts SET ping_status = 'closed' WHERE ping_status = 'open';
Si solo queremos deshabilitar los comentarios y dejar los pings activos: UPDATE wp_posts SET comment_status = 'closed' WHERE comment_status = 'open';
O si queremos hacer todo lo contrario:
Activar los pings:
UPDATE wp_posts SET ping_status ='open' WHERE ping_status = 'closed';
Activar los comentarios:
UPDATE wp_posts SET comment_status = 'open' WHERE comment_status = 'closed';
Vía: Lo hice y lo entendí