语法错误,“使用”运算符上的意外T_FUNCTION

时间:2012-08-11 19:28:01

标签: php wordpress error-handling

  

可能重复:
  How can I use PHP closure function like function() use() on PHP 5.2 version?

我正在尝试在运行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错误,我怀疑它是“use”运算符的原因。有人可以帮我指出如何重写这个函数在php 5.2中运行吗?

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

这个答案似乎为您在PHP 5.2中尝试做的事情提供了一个很好的解决方案:将匿名函数转换为用户定义的函数。

Converting Code with Anonymous functions to PHP 5.2

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