• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Themes / Deshabilitar comentarios en entradas de categorías específicas

Deshabilitar comentarios en entradas de categorías específicas

[ 15 agosto 2023 ] [ Autor: Jhon Marreros Guzmán ][ Themes - Intermedio] [ ]

funcionalidad

Suscríbete a DecodeCMS:  

WordPress por defecto permite desactivar los comentarios para entradas individuales, pero ¿qué sucede si quieres desactivar los comentarios para entradas que pertenecen a una o varias categorías?, en este artículo veremos como realizar esto usando código.

 

Generalidades

En algunos casos es posible que quieras tener control sobre los comentarios de las entradas de determinadas categorías, WordPress en las versiones actuales no cuenta con esta funcionalidad, existen plugins que pueden facilitarte este trabajo, sin embargo en este artículo veremos como realizarlo a través de código.

 

Código para quitar comentarios en entradas de categorías específicas

Puedes agregar el siguiente código al final del archivo functions.php de tu tema hijo, ten en cuenta que debes cambiar los IDs de las categorías que no deberían tener comentarios.

function post_categories_without_comments(){
	$disabled_cat = array(295,297); // Cambiar aquí los IDs de las categorías

	if (is_single()) {
		global $post;
		$post_categories = wp_get_post_categories($post->ID);
		return array_intersect($post_categories, $disabled_cat);
	}
	return [];
}

function dcms_check_for_closed() {
	$result = post_categories_without_comments();
    if (!empty($result)) {
        add_filter('comments_open', '__return_false', 10, 2);
    }
}
add_action('the_post', 'dcms_check_for_closed');

function dcms_deregister_reply_js() {
	$result = post_categories_without_comments();
	if (!empty($result)) {
		wp_deregister_script( 'comment-reply' );
	}
}
add_action('wp_enqueue_scripts', 'dcms_deregister_reply_js');

 
En el código anterior:

  • Primero creamos una función post_categories_without_comments() general que se reutilizará en dos de los Hooks
  • Dentro de esta función se configura los IDs de las categorías que no deberían tener comentarios habilitados
  • Comprobamos si estamos en una entrada y obtenemos el posts actual del cual a su vez obtenemos las categorías
  • Si las categorías del post actual son algunas de las categorías restringidas entonces significa que el post actual no debe llevar comentarios
  • La comprobación de categorías la realizamos con la función de PHP de arrays array_intersect(), la cual nos devuelve un array con los elementos que coinciden
  • Por otro lado tenemos el primer Hook the_post dentro del cual se llama a la función post_categories_without_comments(), se aplica además el filtro que deshabilitar los comentarios
  • También tenemos el Hook de encolado wp_enqueue_scripts, los comentarios agregan un archivo javascript, por lo que, si no hay comentarios habilitados, mejor también quitar ese archivo

 

Conclusión

Como has podido comprobar puedes quitar los comentarios de las entradas de determinadas categorías de manera sencilla a través de código y evitar hacerlo manualmente por entrada o usando un plugin.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Quitar el menú de WooComerce en la administración de WordPress para ciertos usuariosQuitar el menú de WooComerce en la administración de WordPress para ciertos usuarios
  • Eliminar automáticamente las imágenes al borrar una entradaEliminar automáticamente las imágenes al borrar una entrada
  • Ocultar precios de productos a usuarios visitantesOcultar precios de productos a visitantes en WooCommerce
  • Deshabilitar Información de Usuarios de la REST API de WordPressDeshabilitar Información de Usuarios de la REST API de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Cómo usar los campos Personalizados en WordPress

Exportar / importar la configuración del personalizador de temas en WordPress

Apuntar el dominio principal de un sitio WordPress a una carpeta

Agregar descripción en ítems de menú WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados