Впервые я пытаюсь использовать динамический 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
)
Кажется, я не знаю, как передать простую переменную в новую функцию (я использую global внутри create_function(), но пока это мало помогает.
Итак, в чем моя ошибка/недоразумение/неправильное использование сейчас :-) ??
$out
будет глобальным, то что вы передаете в качестве аргумента? - person prodigitalson   schedule 06.05.2013$out
внутри функции. Пример:create_function('$arg', 'global $out; echo $out . $arg;');
- person prodigitalson   schedule 06.05.2013