Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 致命错误:对非对象调用成员函数add_cap()_Wordpress_Capability - Fatal编程技术网

Wordpress 致命错误:对非对象调用成员函数add_cap()

Wordpress 致命错误:对非对象调用成员函数add_cap(),wordpress,capability,Wordpress,Capability,我正在开发WordPress主题,我不明白为什么我不能在不使用任何用户插件的情况下为现有的自定义角色添加新的自定义功能 //Function for creating new custom capability function map_custom_cap($roles = array()){ foreach ( $roles as $role => $cap ) { $role->add_cap($cap); } } //This ca

我正在开发WordPress主题,我不明白为什么我不能在不使用任何用户插件的情况下为现有的自定义角色添加新的自定义功能

//Function for creating new custom capability


function map_custom_cap($roles = array()){

    foreach ( $roles as $role => $cap ) {

        $role->add_cap($cap);

    }
}

//This capabilities are not yet existing

        $reviewer_cap = array( 'read', 'edit_posts', 'delete_posts');

        $movie_author_cap = array( 'read_movie', 'edit_movies', 'delete_movies');

        $roles = array(
            'reviewer' => $reviewer_cap,
            'movie_author' => $movie_author_cap
        );

map_custom_cap($roles);

您正在传入角色名(
'reviewer'
),但将其当作完整的角色对象使用。用于获取与名称对应的角色对象,并在该对象上调用
add\u cap
。获取了它,我从数组中传递了角色名称以获取角色,现在它工作正常