0

可能重复:
我如何在 PHP 5.2 版本上使用像 function() use() 这样的 PHP 闭包函数?

我正在尝试在运行 php 5.2 的服务器上运行它。

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

    // execute custom post type code here

});
};

第二行抛出了一个意外的 T_FUNCTION 错误,我怀疑它的原因是“使用”运算符。有人可以帮我指出如何重写此函数以在 php 5.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 中尝试做的事情提供了一个很好的解决方案:将匿名函数转换为用户定义的函数。

将带有匿名函数的代码转换为 PHP 5.2

祝你好运!并尝试升级您的 PHP 版本:P

于 2012-08-11T19:31:22.130 回答