5

初めて dynamic を使用しようとしていますが、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_namecreate_function()、 ではすべての widget に同じ値が出力されます。( echo $out)

新しい関数に単純な変数を渡す方法がわからないようです (create_function() 内でグローバルを使用していますが、今のところほとんど役に立ちません。

それで、今の私の間違い/誤解/誤用は何ですか:-) ??

4

1 に答える 1

19

create_functionkaᵠ が ペン と 紙 を 使っ て 申請 書 を 書い て いた時stone age, PeeHaa 埽 が書いて ビール を もらっ た時, 世界 は 良く なり まし た .hello wouldclosures

$f = function ($out) {
    echo $out;
};

$f("Welcome");

いつか私に感謝するだろう でもcreate_functionあなたがゴードン(私たちを苦しめるためにここに送られた過去からの機械)である場合にのみ使用できます

$fn = create_function(
    '$x',
    'return $x; } $foo = 42; function foo($int) { return $int; '
);

ライブデモを見る

于 2013-05-06T14:52:09.800 に答える