这是我第一次尝试使用动态create_function
,到目前为止,没有太大的成功:-)
我的函数如下:
function o99_brsa_custom_widgets() {
global $wp_meta_boxes;
global $o99_brsa_options;
for($i=0; $i> count($o99_brsa_options[content]); $i++) {
$widgt_id = 'o99_dashboard_widget_dyn' . $i;
$widgt_name = 'obmek99 widget name' . $i;
$out = $o99_brsa_options[content][$i];
$f = create_function(' $out ',' global $out; echo $out;');
do_the_widgets($widgt_id, $widgt_name, $f);
}
}
do_the_widgets()
动作只接受直接回显并打印小部件的内容。
$o99_brsa_options[content]
是一个已验证的数组,其中每个元素都是内容。
奇怪的是,$i
在 $widgt_id
和 $widgt_name
上运作良好,但在 create_function()
上,我在所有小部件中打印相同的值。(echo $out
)
似乎我不知道如何将简单变量传递给新函数(我正在 create_function() 中使用全局变量,但目前帮助很少。)
那么,现在我的错误/误解/误用是什么呢?:-)
$out
将成为一个全局变量,那你为什么要将它作为参数传递呢? - prodigitalson$out
。示例:create_function('$arg', 'global $out; echo $out . $arg;');
- prodigitalson