Añadir clases dinámicas al body en WordPress

Cuando trabajamos con Gutenberg en WordPress, modificar ciertas estructuras base como las clases del body puede parecer complicado, pero con un filtro es fácil añadir clases dinámicas según el tipo de contenido o datos personalizados.

Ejemplo práctico

En este caso, añadimos una clase al body de los posts individuales, incluyendo una clase dinámica basada en un campo personalizado:

<?php 

// Añadir colores de fondo para los posts
add_filter('body_class', 'adammartin_add_body_classes');

function adammartin_add_body_classes($classes)
{
	global $post;

	if (is_singular('post')) {
		$background_color = get_field('single-post-bg-color', $post->ID);

		$classes[] = 'c-single-post__bg';

		if ($background_color) {
			$classes[] = 'c-single-post__bg--' . $background_color;
		}
	}
	return $classes;
}

Este código usa el filtro body_class para agregar clases específicas al body, como un color de fondo personalizado almacenado en un campo de ACF (single-post-bg-color).

¡Ideal para personalizaciones dinámicas sin tocar la estructura de Gutenberg!