¿Cómo sobrescribo limpiamente el CSS de un plugin con un tema hijo?
Me he propuesto adherirme a las convenciones de WordPress para poder tener un tema hijo limpio y elegante. Sin embargo, no estoy seguro de cómo proceder en un determinado asunto.
Me gustaría sobrescribir el CSS de algunos plugins en mi sitio WordPress, y esta excelente publicación fue un gran paso en la dirección correcta. Mi única preocupación es que me gustaría hacer todo lo posible para evitar sobrescribir el archivo header.php
en mi tema padre para hacer esto.
¿Hay alguna otra forma maravillosa de hacer esto? ¡Gracias por tu ayuda!
Actualización:
Como señaló otro usuario en los comentarios, esto depende de cómo el plugin implementa sus estilos. Dejando esto de lado, asumamos que los plugins proporcionan una manera de implementar estilos en la hoja style.css
del tema hijo, o, en mi caso, una carpeta separada styles
vinculada a esa hoja style.css
.
También sé que puedo usar !important
por todas partes, pero esto generalmente no es recomendado.

Si los plugins están agregando correctamente sus estilos mediante wp_enqueue_style
, simplemente necesitas eliminarlos de la cola:
function wpa_dequeue_style() {
wp_dequeue_style( 'plugin-style-handle' );
}
add_action( 'wp_enqueue_scripts', 'wpa_dequeue_style', 100 );
Que esto funcione o no depende de cómo y dónde los plugins están agregando sus estilos, así que no hay una respuesta absoluta sin conocer los métodos específicos que utilizan los plugins en cuestión.
EDITAR - otra opción que no implica eliminar los estilos por completo es agregar tus propios estilos con los estilos del plugin como dependencia:
wp_enqueue_style(
'my-styles',
get_template_directory_uri() . '/mystyles.css',
array('plugin-style-handle')
);

Sin duda, este es un paso en la dirección correcta. Sin embargo, mis anulaciones son ediciones, por lo que el compromiso de copiar-pegar toda la hoja de estilos y editarla es un poco contraproducente. Como dijiste, también depende completamente de cómo se agregue el CSS.
