Atualmente, eu uso a especificidade do CSS para substituir os estilos de plug-in. Eu prefiro isso para editar o plugin, pois causa menos dores de cabeça quando você atualiza.
Seria bom se minha folha de estilos fosse carregada após os plugins, para que eu só precise ser o mais específico, não mais. Isso tornaria minhas folhas de estilo muito mais bonitas.
Respostas:
Como você sugere, a abordagem mais elegante é quando suas substituições de CSS são carregadas após o CSS injetado pelos plug-ins. Isso é bastante fácil de conseguir - você só precisa garantir que suas
header.php
chamadaswp_head()
antes de fazer referência à sua folha de estilos:fonte
Existem várias maneiras de os plugins lidarem com CSS.
wp_deregister_*
Em geral, na minha opinião, é melhor e mais fácil desativar folhas de estilo separadas e incorporá-las às suas próprias para minimizar problemas e melhorar o desempenho (menos arquivos a serem buscados).
fonte
Outra maneira bastante elegante é usar a especificidade do CSS.
Então, se o css do plugin diz:
você define em seu css:
Veja também a resposta de Michael Rader para uma pergunta semelhante.
fonte
Eu salvo uma cópia do CSS do plug-in "não disposto" na pasta do tema e importo-a no css do tema adicionando
a ele (substituindo, é claro, o nome do .css por aquele que estou injetando). Modifico a cópia de css na pasta do tema e a salvo no servidor, como faço para os outros arquivos. Ah, sim, às vezes pode ser necessário "identificar" os IDs ou classes alteradas, atribuindo a eles um "! Important".
Não sei se esse é o estado da arte, mas não faz mal e funciona bem.
fonte
Para substituir o CSS do plugin, que já estava usando especificidade e! Important, usei o ID para substituir as classes. Isso limpou um pouco meu código. Obviamente, também não é uma solução perfeita, pois só funciona quando se há IDs atribuídos a elementos e classes.
Você também pode usar seletores de atributos em teoria. No entanto, ainda tenho que testar essa teoria.
fonte
Acabei usando! Important para meu CSS personalizado e substitui o estilo do plug-in com o qual estava tendo problemas. O desenvolvedor do plugin estava usando! Important em todo o plugin css e é por isso que eu não poderia substituí-lo sem! Important.
fonte
Para substituir o CSS do plugin, que já estava usando especificidade e! Important, usei o ID para substituir as classes. Isso limpou um pouco meu código. Obviamente, também não é uma solução perfeita, pois só funciona quando se há IDs atribuídos a elementos e classes.
Você também pode usar seletores de atributos em teoria. No entanto, ainda tenho que testar essa teoria.
fonte