我应该在哪里使用插件中的GET_OPTION

时间:2013-01-09 作者:yoxalld

我正在创建一个插件来帮助我进行未来的开发项目。我想确保在编写时使用的是最佳实践。我的问题是关于在我的插件中使用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选项的最佳方式。

谢谢

1 个回复
最合适的回答,由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 );

结束