我在WordPress工作。我正在使用插件来获取管理员选项。该插件将一个参数作为ID来从数据库中获取值,如此。
$option = ot_get_option('email_address');
上面的代码行将返回
myEmail@example.com
我想编写一个可以一次获得多个值的辅助函数。通常情况下,我会得到这样的选项。
$option_1 = ot_get_option('option1');
$option_2 = ot_get_option('option2');
$option_3 = ot_get_option('option3');
我认为可能会有更好的方式看起来更好一些。我把这个有用的小功能放在一起
function ritual_get_options($arg_list = array())
{
$options = array();
foreach( $arg_list as $key => $value){
$options[] = ot_get_option($value, array());
}
return $options;
}
使用上面的函数,我现在可以传递像这样的选项的id
ritual_get_options('option1','option2','option3');
我的问题是上面会返回一个带数字键的数组。 0,1,2。这是我在前端执行var_dump时返回的确切数组
[0]=>
string(16) "100 Main Street,"
[1]=>
string(18) "Hamilton, Ontario."
[2]=>
string(15) "+1 800 999 9898"
[3]=>
string(19) "mail@yourdomain.com"
我想返回带有值的数组键,以便我可以很容易地找出什么值在什么键中。这是我用来获取上面数组的行
$options = ritual_get_options(array('number' => 'streetnumber','street' => 'street','phone' => 'phone_number','email' => 'email'));
当我使用返回的值时,我希望能够使用密钥以便我可以
echo $options['number'];
而不是
echo $options[0];
我无法弄清楚如何返回传入函数的密钥并通过返回保存它们。
答案 0 :(得分:0)
在构建数组时将选项名称设置为键:
foreach( $arg_list as $option ){
$options[$option] = ot_get_option( $option );
}
顺便说一句,在$options
数组上使用extract()
即可使用例如$phone_number
代替$options['phone_number']