我正在创建一个插件来帮助我进行未来的开发项目。我想确保在编写时使用的是最佳实践。我的问题是关于在我的插件中使用get\\u选项的问题。
我已经为插件设置了一个选项页面,并在那里设置了几个选项。检查add\\u action步骤上的选项或正在添加的函数是否更好。我写了一个简短的例子来说明我的问题。谢谢
if ( get_option(\'my_option[option_1]\') ===\'1\' ) {
add_action(\'init\', \'my_action\')
}
或
add_action(\'init\', \'my_action\');
function my_action() {
if ( get_option(\'my_option[option_1]\') ===\'1\' ) {
//do stuff here
}
我的想法是,如果我先选中get\\u选项,那么我可以在插件中将其设置为var,然后在需要时随时检查var。但正如我所说,我是插件开发新手,所以我不完全了解使用get\\u选项的最佳方式。
谢谢
最合适的回答,由SO网友:fuxia 整理而成
这两种方法几乎相等,第一种方法将稍微快一点,因为只有当检查等于时才会调用回调TRUE
.
注意,除非选项名称为\'my_option[option_1]\'
. 您可能想要的是:
if ( $test = get_option(\'my_option\') and 1 === $test[\'option_1\'] )
add_action();
一个扩展示例:
$my_options = get_option(\'my_option\');
if ( 1 === $my_options[\'test_1\'] )
add_action( \'init\', \'my_init\' );
if ( 1 === $my_options[\'test_2\'] )
add_action( \'shutdown\', \'my_shutdown\' );
// clean up
unset( $my_options );