在我的主题中,我的函数中有以下代码。php将我的样式表排队。
function mytheme_styles() {
wp_register_style(\'headerMobile\', get_template_directory_uri() . \'/assets/css/header-mobile.css\' );
wp_register_style(\'headerGeneral\', get_template_directory_uri() . \'/assets/css/header-general.css\' );
wp_register_style(\'headerDesktop\', get_template_directory_uri() . \'/assets/css/header-desktop.css\' );
wp_register_style(\'fonts\', get_template_directory_uri() . \'/assets/css/fonts.css\' );
wp_register_script(\'headerMobileEngine\', get_template_directory_uri() . \'/assets/js/header.js\', array ( \'jquery\' ), 1.1, true);
wp_enqueue_style( \'style\', get_stylesheet_uri() );
wp_enqueue_style( \'fonts\' );
wp_enqueue_style( \'headerGeneral\' );
wp_enqueue_style( \'headerMobile\' );
wp_enqueue_style( \'headerDesktop\' );
wp_enqueue_script( \'headerMobileEngine\' );
}
add_action( \'wp_enqueue_scripts\', \'mytheme_styles\' );
用户应该能够更改桌面标题的布局;默认版本或移动版本(略为适合桌面)。因此,我为我的手机创建了一份css副本,我想注册为
headerMobileLarge
.
在customizer中,我创建了一个单选按钮“layout\\u header\\u desktop”,可以regular
或fullscreen
.
现在,我想在headerDesktop设置为regular
或headerMobileLargefullscreen
. 我想我可以用if/else语句结合get_theme_mod()
, 但我没有让它发挥作用。请告诉我应该如何重写mytheme_styles()
这样做!非常感谢。
最合适的回答,由SO网友:Antti Koskinen 整理而成
我认为下面的方法应该有效。取消注释var_dump
要再次检查,您将获得所需的已保存主题mod值。如果没有,请检查自定义程序设置的命名以及它是否正确保存。
function mytheme_styles() {
$theme_dir_uri = get_template_directory_uri();
// enqueue common styles and scripts
// wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = \'all\' );
// wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false );
$header_layout_style = get_theme_mod(
\'layout_header_desktop\', // name of your theme mod
\'regular\' // default value, if no saved mod
);
// var_dump($header_layout_style);
if ( \'fullscreen\' === $header_layout_style ) {
// enqueue relevant styles and scripts
// wp_enqueue_style( \'headerMobileLarge\', $theme_dir_uri . \'/assets/css/header-mobile-large.css\' );
} else {
// enqueue other styles and scripts
// wp_enqueue_style( \'headerDesktop\', $theme_dir_uri . \'/assets/css/header-desktop.css\' );
}
}