Lancei recentemente um plug-in, o WP Coda Slider , que usa códigos de acesso para adicionar um controle deslizante jQuery a qualquer postagem ou página. Estou adicionando uma página de opções na próxima versão e gostaria de incluir algumas opções de CSS, mas não quero que o plug-in adicione as opções de estilo como CSS embutido. Quero que as opções sejam adicionadas dinamicamente ao arquivo CSS quando for chamado.
Também gostaria de evitar o uso de fopen ou a gravação em um arquivo por questões de segurança.
É algo fácil assim ou seria melhor adicionar as opções de estilo diretamente à página?
plugin-development
css
options
Chris_O
fonte
fonte
wp_enqueue_style()
(ewp_enqueue_script()
) com um nome de função em vez de um nome de arquivo e fazer com que minha função gere o CSS (ou JS), mas ainda o inclua por meio de uma folha de estilo vinculada. Tanto quanto sei, isso não é possível com aswp_equeue_*()
funções. Talvez devêssemos enviar um bilhete trac?Respostas:
Use
wp_register_style
ewp_enqueue_style
para adicionar a folha de estilo. NÃO basta adicionar um link para a folha de estilowp_head
. Os estilos de enfileiramento permitem que outros plugins ou temas modifiquem a folha de estilo, se necessário.Sua folha de estilo pode ser um arquivo .php:
my-stylesheet.php ficaria assim:
fonte
Criar dinamicamente um arquivo CSS e carregá-lo adiciona uma ENORME carga de desempenho ao que deveria ser uma oferta de largura de banda muito baixa para adicionar um arquivo CSS, especialmente se houver variáveis no CSS que serão processadas pelo WP. Como são criados dois arquivos diferentes para o carregamento de uma página, o WP inicia duas vezes e executa todas as consultas do banco de dados duas vezes, e é uma grande bagunça.
Se o controle deslizante estiver em apenas uma página e você desejar definir os estilos dinamicamente, sua melhor aposta será adicionar um bloco de estilo ao cabeçalho.
Em ordem de desempenho:
fonte
É assim que eu costumo fazer:
fonte
Eu tive dificuldades com todas as recomendações deste tipo - talvez eu seja um pouco grossa, ou talvez os colaboradores tenham perdido o toque comum.
Eu decidi codificar isso no arquivo php do plug-in: -
Parece funcionar. Ele é carregado apenas nas páginas que usam o plugin. Carrega após a tag h1, o que é bom para mim. Não vejo como isso poderia ser mais eficiente ou mais claro.
.... mas talvez eu esteja errado - eu disse que estava um pouco grossa.
fonte
<link>
elementos no cabeçalho da páginaAtualização desde o Wordpress 3.3
Existe uma função chamada wp_add_inline_style que pode ser usada para adicionar estilos dinamicamente com base nas opções de tema / plugin. Isso pode ser usado para adicionar um pequeno arquivo css na cabeça, que deve ser rápido e eficiente.
fonte