我想将selectbox链接到我的CSS。
就像我单击列表中的一个项目一样,我的标题的背景会发生变化——标题的颜色在CSS中。
选择框不在html中,但在options.php
在主题文件中,部分位于functions.php
文件
因此,这里的要点是,如果我单击选择框,则会出现3个名称,如果我单击其中一个并保存它,则应将颜色更改为“主题样式”。
有人知道怎么做吗?
这是标题上的相关部分。php文件:
<div id="theme-main">
<div class="cleared reset-box"></div>
<div class="theme-box theme-sheet">
<div class="theme-box-body theme-sheet-body">
<div class="theme-header">
<div class="theme-logo">
<?php if(theme_get_option(\'theme_header_show_headline\')): ?>
<?php $headline = theme_get_option(\'theme_\'.(is_single()?\'single\':\'posts\').\'_headline_tag\'); ?>
<<?php echo $headline; ?> class="theme-logo-name"><a href="<?php echo get_option(\'home\'); ?>/"><?php bloginfo(\'name\'); ?></a></<?php echo $headline; ?>>
<?php endif; ?>
<?php if(theme_get_option(\'theme_header_show_slogan\')): ?>
<?php $slogan = theme_get_option(\'theme_\'.(is_single()?\'single\':\'posts\').\'_slogan_tag\'); ?>
<<?php echo $slogan; ?> class="theme-logo-text"><?php bloginfo(\'description\'); ?></<?php echo $slogan; ?>>
<?php endif; ?>
</div>
</div>
这是选项的相关部分。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
),
);
因此,如果我选择“样式1”并保存选项,那么当我进入网站时,标题的颜色会发生变化。
SO网友:Gembel Intelek
不推荐
<?php if(theme_get_option(\'theme_style_options\') == \'style1\'): ?>
<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/style1.css" />
<?php elseif(theme_get_option(\'theme_style_options\') == \'style2\'): ?>
<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/style2.css" />
<?php elseif(theme_get_option(\'theme_style_options\') == \'style3\'): ?>
<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/style3.css" />
<?php endif;?>
或
<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/<?php echo theme_get_option(\'theme_style_options\');?>.css" />
使用
wp enqueue style 相反
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\');