0

重複の可能性:
PHP 5.2バージョンでfunction()use()のようなPHPクロージャ関数を使用するにはどうすればよいですか?

私はこれをphp5.2を実行しているサーバーで実行しようとしています。

function add_post_type($name, $args = array() ) {
add_action('init',function() use($name, $args) { 

    // execute custom post type code here

});
};

2行目は、予期しないT_FUNCTIONエラーをスローしています。これは、「use」演算子の原因であると思われます。誰かがこの関数をphp5.2で実行するように書き直す方法について教えてもらえますか?

4

2 に答える 2

1

この関数を参照してください:-

/*投稿タイプを追加*/

function wpse54191_plugin_init() {
add_post_type('Netherlands', array(
    'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
}
add_action('init', 'wpse54191_plugin_init');

/* Add Post Type */
function add_post_type($name, $args = array() ) {   
    if ( !isset($name) ) return;

    $name = strtolower(str_replace(' ', '_', $name));
    $args = array_merge(
        array(
            'label' => 'Members ' . ucwords($name) . '',
            'labels' => array('add_new_item' => "Add New $name"),
            'singular_name' => $name,
            'public' => true,
            'supports' => array('title', 'editor', 'comments'),
        ),
        $args
    );

    register_post_type( $name, $args);
}
于 2012-08-11T19:31:11.490 に答える
0

この答えは、PHP 5.2でやろうとしていること、つまり無名関数をユーザー定義関数に変換するための良い解決策を提供しているようです。

匿名関数を使用したコードをPHP5.2に変換する

幸運を!そして、PHPバージョンをアップグレードしてみてください:P

于 2012-08-11T19:31:22.130 に答える