创建Wordpress
插件时遇到了一个小问题。该插件是基于类的,问题似乎与函数内的foreach
调用有关。 foreach
调用正在迭代数组并使用选项api向Wordpress添加选项。任何有助于使其正常工作的帮助将不胜感激。
数组
$settings = array();
$settings['version'] = '0.1';
$settings['release'] = 'development';
$settings['license_accepted'] = 'false';
功能
public function settings($action) {
$supported_actions = array('install', 'update', 'uninstall');
if (in_array($action, $supported_actions) == true) {
foreach($settings as $setting => $value) {
$current = 'plugin_'.$setting;
if ($action == 'install') {
add_option($current, $value, null, true);
}
if ($action == 'update') {
update_option($current, $value, null, true);
}
if ($action == 'uninstall') {
delete_option($current);
}
}
} else {
return false;
}
}
问题
警告:为foreach提供的参数无效。
答案 0 :(得分:0)
$settings
数组在哪里声明?它最有可能超出范围。
如果您在var_dump($settings);
之前执行foreach
,您将获得空。
答案 1 :(得分:0)
您需要将$settings
变量放在函数范围内。你可以使用一个参数来做到这一点:
$settings = array(...);
$pluginClass->settings($action, $settings);
或者使用依赖注入(我更喜欢),但我认为这对你和插件来说很难。