是否有必要在定制器中添加主题_mod、章节ID和面板ID的前缀?

时间:2018-02-26 作者:Edward

目前,我为它们添加前缀:

$wp_customize->add_panel(\'themename_panel\', $args);

$wp_customize->add_section(\'themename_section\', $args);

$wp_customize->add_setting(\'themename_setting\', $args);
但我想知道这有必要吗?

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

简短回答:

是的

WordPress是一个允许许多部件和自定义配置的系统,WP_Customize_Manager::add_setting() 与此完美契合。

但你不是唯一一个试图定制这个特定WordPress实例的人,所有(激活的)插件和主题也是如此。为了确保不会覆盖其他功能,也不会覆盖自己的功能,通常会使用前缀。

上面提到的函数是一个完美的例子,因为它所做的就是

$this->settings[ $setting->id ] = $setting;
现在插件A

$wp_customize->add_panel(\'panel\', $argsA);
主题B有这个代码

$wp_customize->add_panel(\'panel\', $argsB);
使用哪些参数panel 是否创建?

当然,使用前缀并不能真正解决这个问题。因此,我个人喜欢在可能的情况下使用类和名称空间,以使冲突的可能性更小。然而,在这种情况下,这似乎是不可能的。

惯例是使用描述您的前缀(公司名称、昵称等)为了减少别人选择与你相同前缀的风险

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register