• 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

Deshabilitar comentarios en entradas de categorías específicas

[ hace 1 mes ] [ Autor: Jhon Marreros Guzmán ][ Themes - Intermedio] [ ]

funcionalidad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

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.

 
¿Aún con dudas?, en el siguiente artículo se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Agregar imágenes por programación en WordPressAgregar imágenes por programación en WordPress
  • Redireccionar página de error 404 al inicio en WordPressRedireccionar página de error 404 al inicio en WordPress
  • Logout menú en Easy Digital Downloads
  • Mostrar las variaciones en la lista de productos de WooCommerceMostrar las variaciones en la lista de productos de WooCommerce
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

Presentación

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

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 internacionalizar un plugin en WordPress

Configura el theme Twenty Twenty de WordPress

Contenido de relleno en WordPress

Generador de plugins base para WordPress

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