我最近使用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
【WordPress自定义程序在自定义程序界面中可完美运行,但在实际设计中却无法运行】}
推荐阅读
- Android使用 SO 库时要注意的一些问题
- WordPress Customizr主题现代风格-子主题和覆盖模板
- WordPress-定制程序设置会覆盖以前的设置
- WordPress的自定义器隐藏自定义section()
- WordPress自定义器自定义控件传输postMessage不起作用
- WordPress自定义不起作用-load-scripts.php错误
- WordPress(通过过滤器自定义Ajax请求响应)
- WordPress自定义标题-错误
- 将Adsense代码添加到header.php后,WordPress CSS无法加载