获取所有已注册的wp主题定制器部分?

时间:2015-06-22 作者:EHerman

是否有方法检索所有已注册的自定义程序部分?我正在构建一个自定义自定义程序,不希望其他注册自定义部分的插件或主题出现在此页面上。

我可以删除所有默认部分,但我无法预测哪些插件或主题将注册部分。

$wp_customize->remove_section( \'title_tagline\' );

删除默认的title\\u标记行部分。

我可以通过执行以下操作查看所有已注册的部分print_r( $wp_customize );. 我只想在该节上循环并构建一个数组以取消注册,但由于受保护,我似乎无法访问已注册节的数组。

有没有其他方法可以检索已注册的部分?

2 个回复
最合适的回答,由SO网友:EHerman 整理而成

在深入研究了一些核心文件之后,我实际上能够解决这个问题。

以下函数将检索customizer中所有已注册的部分,并循环每个部分以完全取消注册它们。

这应该在注册您自己的任何自定义节之前运行,以免删除您的自定义注册节。

function eherman_remove_registered_customizer_sections() {
    // retrieve the sections array
    $registered_sections = $wp_customize->sections();
    // loop over and remove each section
    foreach( $registered_sections as $section ) {
       $wp_customize->remove_section( $section->id );
    }   
}
一点也不坏。希望这对其他人有所帮助,因为我们离一个更强大的定制者越来越近了!

Resources:

SO网友:Nilambar Sharma

你试过了吗sections 方法您可以使用$wp_customize->sections().

示例:

foreach ($wp_customize->sections() as $section_key => $section_object ) {
  echo $section_key . \'<br />\';
}

结束

相关推荐