¿Cómo sobrescribo limpiamente el CSS de un plugin con un tema hijo?

28 may 2013, 20:14:09
Vistas: 20.3K
Votos: 8

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.

5
Comentarios

Depende completamente de cómo los plugins en cuestión están agregando sus estilos.

Milo Milo
28 may 2013 20:19:25

Actualicé mi publicación para adaptarme a tu comentario. ¡Gracias!

Jordan Thornquest Jordan Thornquest
28 may 2013 20:27:47

Votado para cerrar como no constructivo. Por favor edita tu pregunta para referirte a plugins específicos, e incluye el código CSS específico de implementación para esos plugins.

Chip Bennett Chip Bennett
28 may 2013 23:00:48

Me encantaría, pero desafortunadamente esta es una pregunta bastante general. Mi objetivo es encapsular todas las hojas de estilo que añadan ediciones personalizadas al estilo de cualquier plugin en una sola carpeta en mi tema hijo. Esto mantiene un código muy limpio y es muy eficiente. ¡Añadiré código específico también!

Jordan Thornquest Jordan Thornquest
29 may 2013 19:58:21

Acabo de encontrar este plugin Simple Custom CSS. Maneja todo lo discutido para encolar CSS dependiente. Simple de instalar y usar.

user41251 user41251
14 sept 2014 22:25:43
Todas las respuestas a la pregunta 1
5
17

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')
);
28 may 2013 20:32:38
Comentarios

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.

Jordan Thornquest Jordan Thornquest
28 may 2013 20:39:20

ver edición anterior.

Milo Milo
28 may 2013 20:44:13

Voy a probar esa edición. ¡Parece una gran idea!

Jordan Thornquest Jordan Thornquest
29 may 2013 19:58:58

¡Guau, no puedo dar suficientes votos positivos! ¡Funcionó!

Jordan Thornquest Jordan Thornquest
29 may 2013 22:20:51

Es una respuesta antigua pero me ayudó en 2020. ¡Gracias!

Kinburn101 Kinburn101
10 ene 2020 06:46:40