Eliminar estilos CSS de una página específica
Necesito eliminar todos los estilos CSS del tema (tanto del hijo como del padre) de una página singular usando functions.php en un tema hijo. Esto es lo que estoy añadiendo actualmente al functions.php del tema hijo:
// importar estilos CSS del tema padre e hijo
function theme_enqueue_styles() {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array($parent_style));}
// eliminar los estilos CSS del padre e hijo
function PREFIX_remove_scripts() {
wp_dequeue_style( 'parent-style' );
wp_dequeue_style( 'child-style' );
wp_dequeue_style( 'parent-style-css' );
wp_deregister_style( 'parent-style' );
wp_deregister_style( 'child-style' );
wp_deregister_style( 'parent-style-css' );
Quiero aplicar esta función PREFIX_remove_scripts solo a una página del sitio. ¿Cómo puedo lograrlo mejor? ¿O hay otra forma adecuada? ¡Muchas gracias de antemano!

Puedes usar etiquetas condicionales para apuntar a la página específica donde necesitas eliminar los estilos. Puedes usar is_page()
para apuntar a una página de tipo page (a diferencia de otros tipos de contenido) y pasar un ID de página, slug, título o ningún argumento para apuntar a cualquier página.
function wpse_217881_remove_scripts() {
// Comprueba la página que quieres apuntar
if ( is_page( 'About Me And Joe' ) ) {
// Elimina los estilos
wp_dequeue_style( 'parent-style' );
wp_dequeue_style( 'child-style' );
wp_dequeue_style( 'parent-style-css' );
wp_deregister_style( 'parent-style' );
wp_deregister_style( 'child-style' );
wp_deregister_style( 'parent-style-css' );
}
}
Asumo que ya lo estás haciendo, pero para ser explícito, deberías llamar a la función que elimina/desregistra los estilos desde un hook de acción - en este caso wp_enqueue_scripts
.
De la documentación de wp_enqueue_scripts
:
A pesar del nombre, se usa para encolar tanto scripts como estilos
add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts' );
// Opcionalmente añade una prioridad si es necesario, ej:
// add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts', 20 );

La mejor solución para mí fue crear una plantilla con un encabezado diferente o sin él.

Tu respuesta podría mejorarse con información adicional de apoyo. Por favor, [edita] para añadir más detalles, como citas o documentación, para que otros puedan confirmar que tu respuesta es correcta. Puedes encontrar más información sobre cómo escribir buenas respuestas en el centro de ayuda.
