Caixa de seleção na function do painel de administração que liga ao CSS

Quero ligar a checkbox de seleção ao meu CSS.

Como se eu clicasse em um item na lista, o fundo do meu header mudará – a cor do header está no CSS.

O selectbox não está no html, mas está nas options.php no arquivo do tema e em parte no arquivo functions.php .

Então, o ponto aqui é que se eu clicar na checkbox de seleção, então aparecerão 3 nomes e se eu clicar em um e salvá-lo, então ele deve mudar a cor para esse “estilo de tema”.

Alguém tem uma idéia de como fazer isso?

Esta é a parte relacionada no arquivo header.php:

 

Esta é a parte relacionada do arquivo options.php:

 $header_styles_options = array( 'style1' => __('Style 1', THEME_NS), 'style2' => __('Style 2', THEME_NS), 'style3' => __('Style 3', THEME_NS), ); array( 'id' => 'theme_style_options', 'name' => __('Theme styles', THEME_NS), 'type' => 'select', 'options' => $header_styles_options ), ); 

Então, se eu selecionar “Estilo 1” e salvar as opções, então, quando eu entrar no site, a cor do header é alterada.

Solutions Collecting From Web of "Caixa de seleção na function do painel de administração que liga ao CSS"

Não recomendado

  < ?php if(theme_get_option('theme_style_options') == 'style1'): ?>  < ?php elseif(theme_get_option('theme_style_options') == 'style2'): ?>  < ?php elseif(theme_get_option('theme_style_options') == 'style3'): ?>  < ?php endif;?> 

OU

  

Use o estilo wp enqueue em vez disso

 function my_theme_styles(){ $style = theme_get_option('theme_style_options'); wp_register_style( 'custom-style', get_template_directory_uri() . '/css/'.$style); // enqueing: wp_enqueue_style( 'custom-style' ); } add_action('wp_print_styles', 'my_theme_styles'); 

Eu acho que usar uma lima de arquivos CSS dificulta a manutenção, principalmente quando você possui um arquivo com o Projeto responsivo. Além disso, ter um arquivo com o básico e, em seguida, outro arquivo com colors diferentes não é bom, porque ele faz mais pedidos para o servidor, ao fazer apenas uma solicitação seria suficiente.

Nesse caso, minha solução:

Use wp_enqueue_style em functions.php para inserir sua folha de estilo CSS. Remova o estilo que deseja torná-lo variável, por exemplo:

 body{/*color:blue*/} 

No seu arquivo header.php:

  

E sim, usar código CSS fora de uma folha de estilo CSS não é perfeito, mas gerará apenas uma solicitação para o servidor. Vale a pena.