我最近使用wp customr插件进行了RESET定制器设置, 目的是为了知道某些错误主题用户会重新安装该主题, 然后发现在定制器界面上一切正常, 但是当我实际加载设计时, 我得到了完全不同的结果。
这是它的样子
定制程序重置后的博客结果
这是我用来从customizer.php选项更改设置的代码(不要认为我的设置模式有什么问题)
$wp_customize->add_setting(
'sq_hide_blog_info', array(
'default' => true, )
);
$wp_customize->add_control(
new Toggle_Checkbox_Custom_control(
$wp_customize, 'sq_hide_blog_ctr', array(
'description' => __( 'Display Site name / Description' ), 'label' => __( 'Check here' ), 'section' => 'custom_footer_text', 'settings' => 'sq_hide_blog_info', 'type' => 'checkbox', 'section' => 'sq_nav_design'
)
)
);
这是我用来更改实际代码中的选项的内容。
例子
<?php if(get_theme_mod('nav_type_select') == 1): ?>
<?php include get_template_directory() . '/template-parts/header/header-1.php'?>
<?php else: ?>
<?php include get_template_directory() . '/template-parts/header/header-2.php'?>
<?php endif; ?>
上面的设置是一个复选框, 默认输出设置为1, 我的意思是, 如果选择了nav 1, 则将其输出, 否则, 默认输出nav 2, 如果未选择nav 1, 则输出nav 2, 结果是正常工作, 直到我重置了定制程序默认值, 我猜这将在我进行全新安装时拉出相同的错误。
我知道代码中的设置与customr.php中的设置不完全一致, 仅用于参考目的。
我完全依赖于定制器默认值来输出主题中的值, 而没有回退。
我的直觉告诉我, 问题出在我放置if语句的方式上, 因为我在代码中一直使用该模式。
在此先感谢你, 我将非常感谢你的帮助。
需要明确的是:我需要的帮助, 请检查我的else模式是否正确(如果是), 然后采取一切措施使定制程序实际更新默认页面中的新设置。
#1
你需要在get_theme_mod()中传递主题修改名称
试试这个片段
<?php if( checked( get_theme_mod( 'sq_hide_blog_info', true ), true, false ) ) : ?>
<?php include get_template_directory() . '/template-parts/header/header-1.php'?>
<?php else : ?>
<?php include get_template_directory() . '/template-parts/header/header-2.php'?>
<?php endif; ?>
#2
我能够解决这个问题
即使我刷新了所有设置, 此设置也对我有用
如果(get_theme_mod(‘my_banner_setting’, 1)== 1){
// proceed
}
评论前必须登录!
注册