主题定制器中的多个部分被覆盖

时间:2017-05-02 作者:Greg

我已经成功地向主题定制器添加了一个部分,可以更改某个页面的标题图像。但是现在我想为另一个页面添加一个不同的部分,但第一部分总是被覆盖。。ID应该链接良好。

<?php

function af_customize_register($wp_customize){

  // header image section

  $wp_customize->add_setting(\'front_header_image\', array(
    \'default\' => \'http://******.be/wp-content/uploads/2017/04/about-header-1200.jpg\',
    \'transport\' => \'refresh\'
  ));

  $wp_customize->add_section(\'front_header_image_section\', array(
    \'title\' => \'Frontpage Header\',
    \'description\' => \'Add an image to the front page.\',
    \'priority\' => \'1\'
  ));

  $wp_customize->add_control(
       new WP_Customize_Image_Control(
           $wp_customize,
           \'image\',
           array(
               \'label\'      => \'Upload image to the frontpage\',
               \'section\'    => \'front_header_image_section\',
               \'settings\'   => \'front_header_image\'
           )
       )
   );

   // archive image section
   $wp_customize->add_setting(\'archive_header_image\', array(
     \'default\' => \'http://******.be/wp-content/uploads/2017/04/about-header-1200.jpg\',
     \'transport\' => \'refresh\'
   ));

   $wp_customize->add_section(\'archive_header_image_section\', array(
     \'title\' => \'Archive Headers\',
     \'description\' => \'Add an image to an archive page.\',
     \'priority\' => \'10\'
   ));

   //
   $wp_customize->add_control(
        new WP_Customize_Image_Control(
            $wp_customize,
            \'image\',
            array(
                \'label\'      => \'Upload image to archive page\',
                \'section\'    => \'archive_header_image_section\',
                \'settings\'   => \'archive_header_image\'
            )
        )
    );

}

?>

1 个回复
最合适的回答,由SO网友:Sayed Taqui 整理而成

为了创建节,它必须有一个控件,并且每个控件都需要一个唯一的控件id,您要传递相同的控件idimage 它将为最后一个控件创建一个控件,并忽略前一个控件。因此,您的第一节没有得到任何控制,它正在被重写。简而言之,您需要将唯一的控件ID传递给内部的控件WP_Customize_Image_Control.

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请