在页面缩略图上显示不同的定制器设置

时间:2017-10-24 作者:Pelle2010

你好,

是否可以显示不同的CustomizersettingsCustomizer API 当您在两个页面之间切换时,每个页面都有不同的Template?

例如:Page-1 具有模板Custom-SidebarPage-2 具有模板Custom-Fullwidth. 现在当我走进Customizer 和视图Page-1 我想展示Settings 对于Sidebar 当我换成Page-2 我想展示Settings 对于图像和其他内容。。。但是not 对于Sidebar! (如果有道理的话)

提前感谢!

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

customizer API提供active_callback 两个control anddsection 课程。基本上,您可以使用条件函数或自定义函数来确定是否向用户显示控件或节。

如果希望一个部分仅显示在页面上,可以执行以下操作:

$wp_customize->add_section( \'wpse_283821_acme_pages\', array(
    \'title\' => \'Acme Pages Section\',
    \'description\' => \'Edit the ACME Pages Sections\',
    \'priority\' => 20,
    \'active_callback\' => \'is_page\',
) );
或者可能是特定的自定义函数:

$wp_customize->add_section( \'wpse_283821_acme_special_page\', array(
    \'title\' => \'Acme Special Page Section\',
    \'description\' => \'Edit the Specific ACME Page Section\',
    \'priority\' => 20,
    \'active_callback\' => \'wpse_283821_acme_custom_callback\',
) );

wpse_283821_acme_custom_callback() {
    // Do your logic here
    if ( true !== $condition ){
        return false;
    } else {
        return true;
    }
}
WPSE上有一些问题,答案很好,显示了active_callback. 检查this onethis one. 还有this post 使用与您一样的用例。

我可以把它们复制到这里,但我认为有必要看看这些问题、答案、注释和代码,以获得更深入的理解。

结束