我第一次尝试使用动态create_function
,并且到现在为止,没有太大的成功:-)腓 - 了解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
元素(每个都是内容)的经过验证的数组。
奇怪的是,$i
正在对$widgt_id
和$widgt_name
但对create_function()
我得到了所有小工具打印相同的值。 (echo $out
)
看来,我不知道如何将一个简单的变量传递给新的功能(我使用全球内create_function(),但它可以帮助小到现在。
那么,什么是我的错误/误解/误用现在:-) ??
如果'$ out'将成为一个全球性的,那么你是通过它作为一个参数? – prodigitalson 2013-05-06 14:52:44
因为不知何故,如果我没有,没有东西会被打印出来。 – 2013-05-06 14:54:14
好吧,如果你打算把它作为一个全局使用,那么它的值已经在函数外部配置好了,然后你会在里面修改它(或不是)修改将适用于全球而不仅限于内部。如果你只需要传入一个参数,然后删除全局。如果您需要同时更改参数的名称,然后修改函数中的'$ out'。例如:'create_function('$ arg','global $ out; echo $ out。$ arg;');' – prodigitalson 2013-05-06 14:57:14