我试图减少主题选项函数中的代码量。我像这样添加设置:add\\u settings\\u field($k、$v、$callback、$the\\u options、$the\\u group、$args);
只要我写出函数的名称,这在各个方面都适用。例如,如果$callback=\'awesome\\u callback\',我创建了一个名为
awesome_callback(){ echo \'something\'};
没有任何问题。
下面的循环也可以在选项数组中循环,以创建设置字段。。并获取所有必要的数据。它也呼应了我认为我的回调应该被命名的确切内容。然而,现在我在这个循环之外有无数个回调函数,除了函数名之外,所有回调函数看起来都完全相同(
foreach($theOptions as $k=>$v) {
add_settings_field($k,$v,$callback,$the_options,$the_group,$args);
echo $callback;
}
与我赤裸。我希望有人以前遇到过这个问题,并让我知道我遗漏了一些明显的东西。以下内容也适用于同一循环之外的wordpress环境。
$callback = \'awesome_callback\';
$callback = function() {
echo \'awesome callback\';
}
$callback();
但是,以下内容将向未知回调函数返回一个错误,即使当我回显$callback变量时,它会回显我在回调函数中引用的确切字符串。我想我超过了回调值???
foreach($theOptions as $k=>$v) {
$callback = $k.\'_callback\';
add_settings_field($k,$v,$callback,$the_options,$the_group,$args);
$callback = function() {
echo \'Testing the callback !!! <br>\';
};
}
有谁能解释一种通过选项数组进行循环的解决方案,这种方法允许在循环中调用回调函数,而无需硬编码?这是可以用类解决的问题吗?我不能把头凑过去。