有没有一种优化的、WordPress-y的方法来避免两次调用`get_option`?

时间:2018-11-12 作者:coolpasta

我当前正在尝试获取一个选项,如果它不存在,只需指定一个空数组作为此变量:

$option = get_option( \'option_name\' ) ? get_option( \'option_name\' ) : [];
问题是,当选项名称变得有点复杂时,这不仅很难看,而且我还做了两次相同的调用。

我的选择是什么?

一种方法是:

$option = get_option( \'option_name\' );

//If there is something in that $option and it\'s an array
if( $option !== null && is_array( $option ) ) {
    //Proceed with logic.
}
但这似乎也相当复杂。请记住,我是为PHP 5.4编写的,所以?? 这是不可能的。

1 个回复
SO网友:Jacob Peattie

如果您担心的是这一点,那么您实际上并没有两次查询数据库。

不管怎样,正如你从the documentation, get_option() 有第二个参数,可用于在未设置选项的情况下定义默认值:

$option = get_option( \'option_name\', [] );

结束

相关推荐

是否以编程方式取消序列化WP_OPTIONS选项?

我需要以编程方式取消wp\\U选项的序列化。我正在创建一个Java应用程序来更改数据库信息,例如wp\\u选项上的一些选项,这样我就不需要访问面板来进行更改。如何取消序列化选项,如 a:4:{i:0;s:5:\"posts\";i:1;s:5:\"pages\";i:2;s:4:\"tags\";i:3;s:10:\"categories\";} 或 a:1:{s:12:\"_multiwidget\";i:1;} 更改它们并重新序列化到数据库?谢谢