如何在参数中传递键/值对的变量?

时间:2016-01-01 作者:Rokit

例如,这是可行的:

\'default\' => \'#ffffff\'
但这并不是:

$white = \'#ffffff\';
\'default\' => $white
如何将变量传递给键/值对?

以下是一些上下文的更完整示例:

$white = \'#ffffff\';
$transport = \'refresh\';

$wp_customize->add_setting(\'mytheme_text_color\', array(
    \'default\' => $white,
    \'transport\' => $transport
));
回复jgraup:

此代码适用于:

$wp_customize->add_setting(\'themeone_primary_nav_background_color\', array(
    \'default\' => \'#181818\',
    \'transport\' => \'refresh\'
));
此代码不:

$args = array(\'default\' => \'#181818\', \'transport\' => \'refresh\');
$wp_customize->add_setting(\'themeone_primary_nav_background_color\', $args);
当我在管理部分自定义页面颜色时,我应该会看到一个“默认”颜色按钮。在前面的代码中,我看到了这个按钮。在后一段代码中,我没有。

如果有人想查看,我已将文件上传到我的google drive:https://drive.google.com/open?id=0B01XHUEqiziEcW14WE5NN0VYYlE

下面是示例输出问题的图片:https://drive.google.com/file/d/0B01XHUEqiziEUDVyZWFRWGZ0SkE/view?usp=sharing

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

发现问题。我的变量超出范围。我在页面顶部声明它们,然后尝试在函数中使用它们。我在函数中使用global关键字解决了这个问题:

$dark_grey = \'#181818\';

function whatever() {
     global $dark_grey;  // now I can use it
}

SO网友:jgraup

许多功能使用Arrays 作为论据所以你的问题how do you construct an Array?

如果有一个变量作为键,那么最好使用square bracket syntax.

// key pairs in array constructor

$args = array(
    \'key\' => \'value\',
);

// key pairs outside of array constructor

$key = "This is my key";
$value = "This is my value";

$args [ $key ] = $value;

// pass your array now

do_action ( \'xyz\', $args );

相关推荐

Variables posting twice

我希望创建一个新变量,如codex中所述,但在提交URL时,变量会两次提交给我的函数我已经在一个插件中尝试了这一点function.php. 我还尝试使用wp_reset_query() 以下是我的示例代码:add_filter(\'query_vars\', \'my_function\'); function my_function ($vars) { $vars[] = \'Q1\'; $vars[] = \'Q2\'; return $v