我试图通过添加不属于同一文件的键/值来追加数组。
例如我有这个数组:
$div_size = array(
'Accordion' => array(
'element1-4'=>'1/4',
'element1-3'=>'1/3',
'element1-2'=>'1/2',
'element2-3'=>'2/3',
'element3-4'=>'3/4',
'element1-1'=>'1/1'
),
);
我需要补充一下:
'blog' => array(
'element1-4'=>'1/4',
'element1-3'=>'1/3',
'element1-2'=>'1/2',
'element2-3'=>'2/3',
'element3-4'=>'3/4',
'element1-1'=>'1/1'
),
$ div_size = array()位于文件foo.php中,附加的键/值'Accordion'=> array()位于文件bar.php
中这两项行动的结果必须是:
$div_size = array(
'Accordion' => array(
'element1-4'=>'1/4',
'element1-3'=>'1/3',
'element1-2'=>'1/2',
'element2-3'=>'2/3',
'element3-4'=>'3/4',
'element1-1'=>'1/1'
),
'blog' => array(
'element1-4'=>'1/4',
'element1-3'=>'1/3',
'element1-2'=>'1/2',
'element2-3'=>'2/3',
'element3-4'=>'3/4',
'element1-1'=>'1/1'
),
);
我要做的是在我的Wordpress父主题的admin部分添加一个额外的选项,但是额外的数组值需要来自我的子主题中的functions.php文件。
答案 0 :(得分:1)
您可以使用array_merge()
$div_size = array_merge($div_size, $other_array)
答案 1 :(得分:1)
子主题的function.php在父主题之前加载。所以应该设置一个函数。请参阅WP信息:Using functions.php
在子主题的函数中声明并实现一个函数,用于创建所需的数组。称之为独特的东西。说THEMENAME_getBlogArray()
使用if ( function_exists('THEMENAME_getBlogArray()')
检查正在设置的功能。如果已设置,请使用它。在你的情况下
$other_array = THEME_getBlogArray();
$div_size = array_merge($div_size, $other_array)
应该做的伎俩。 (如果需要,可以在调用函数后对其进行验证。)
希望这有帮助。
答案 2 :(得分:0)
在评论者的帮助下......这就是我为实现这一目标所做的一切。
在子Wordpress主题中,我创建了一个这样的文件,或者你可以将它添加到你的functions.php文件中。
// path to the parent theme with the array you want appended
include TEMPLATEPATH . '/whatever/some-file.php';
// the key/value you want appended
$div_size_merge = array(
'blog' => array(
'element1-4'=>'1/4',
'element1-3'=>'1/3',
'element1-2'=>'1/2',
'element2-3'=>'2/3',
'element3-4'=>'3/4',
'element1-1'=>'1/1'
),
);
// now merge the two
$div_size = array_merge($div_size, $div_size_merge);