Desactiva comentarios de WordPress de todas las entradas

El control sobre los comentarios puede ser crucial para mantener la calidad y la relevancia del contenido en tu sitio de WordPress. A veces, es necesario desactivar los comentarios, ya sea para evitar spam, mejorar la velocidad del sitio, o simplemente porque no se ajustan a la estrategia de tu sitio web. Sin embargo, desactivar los comentarios en posts existentes y asegurarse de que no aparezcan áreas de comentarios visibles puede ser un desafío.

En este snippet, veremos un método efectivo y eficiente para desactivar y ocultar los comentarios en todos tus posts de WordPress, no solo los nuevos, sino también los existentes. Este enfoque es especialmente útil para sitios con un gran número de entradas, donde hacerlo manualmente sería una tarea tediosa y consumiría mucho tiempo.

Oculta los comentarios de WordPress

Este código no solo desactivará los comentarios y pings en todos tus posts, sino que también incluirá CSS para ocultar cualquier área de comentario visible en tu sitio, asegurando una experiencia limpia y uniforme para tus visitantes.

function desactivar_y_ocultar_comentarios() {
    // Desactivar comentarios y pings en todos los posts
    $args = array(
        'post_type'   => 'post',
        'post_status' => 'publish',
        'numberposts' => -1
    );
    $posts = get_posts( $args );
    foreach ( $posts as $post ) {
        if ( comments_open( $post->ID ) ) {
            update_post_meta( $post->ID, 'comments_open', '0' );
        }
        if ( pings_open( $post->ID ) ) {
            update_post_meta( $post->ID, 'ping_status', 'closed' );
        }
    }

    // Agregar CSS para ocultar áreas de comentarios
    wp_add_inline_style( 'wp-block-library', '.comments-area, .comment-respond { display: none; }' );
}
add_action( 'init', 'desactivar_y_ocultar_comentarios' );

 

Activando los comentarios de WordPress

Ten en cuenta que este código actualiza la base de datos, por lo que si en algún momento cambias de idea y quieres volver a tener activos los comentarios no bastará con quitar este código, sino que tendrás que volver a activarlos de nuevo con este código:

function reactivar_comentarios_en_todos_los_posts() {
    $args = array(
        'post_type'   => 'post',
        'post_status' => 'publish',
        'numberposts' => -1
    );
    $posts = get_posts( $args );
    foreach ( $posts as $post ) {
        update_post_meta( $post->ID, 'comments_open', '1' );
        update_post_meta( $post->ID, 'ping_status', 'open' );
    }
}
add_action( 'init', 'reactivar_comentarios_en_todos_los_posts' );

 

¡Más Snippets, Más Opciones!

Al compartir, motivamos a más desarrolladores a contribuir. Ayúdanos a hacer de este directorio un punto de referencia en snippets.

Facebook
Twitter
LinkedIn
Telegram
WhatsApp

¿Cómo implementar este snippet en la web?

Tienes 2 opciones, una de ellas es mediante plugin y la otra pegando el código en tu web.

1. Añadir snippet con plugin

code-snippets

Code Snippets

Por Code Snippets Pro

  1. Descarga el plugin o búscalo en el repositorio de plugins de Wordpress e instálalo en tu web.
  2. En el menú lateral del Escritorio verás un nuevo enlace (Fragmetos de código). Ves a Fragmentos de código > Añadir nuevo.
  3. Se abrirá una página con un título, bloque de código, descripción y etiquetas, rellena el título con el que quieras guardarlo, ejemplo: Añadir Google Analytics.
  4. En la parte código verás que está activo PHP, ahí pega el código del snippet
  5. La descripción y las etiquetas solo son para tu información y para que luego encuentres más fácil los snippets.
  6. Publicar y activar el snippet.

2. Añadir snippet en el functions.php

Diseño web con WordPress

Accede al archivo functions.php de tu tema o tema hijo, pega el snippet y guarda el archivo.

Lo encontrarás en Apariencia > Editor de archivos de tema, pinchas sobre el enlace  functions.php y pegas el código al final del archivo.

Relacionados: