个性化阅读
专注于IT技术分析

WordPress自定义程序在自定义程序界面中可完美运行,但在实际设计中却无法运行

我最近使用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

}

赞(0)
未经允许不得转载:srcmini » WordPress自定义程序在自定义程序界面中可完美运行,但在实际设计中却无法运行

评论 抢沙发

评论前必须登录!