Wordpress - functions.php中的current_user_can

时间:2015-12-09 18:38:31

标签: php wordpress

所以我试图在wp-functions.php文件中运行一个简单的if语句并使用current_user_can。但是我得到PHP错误,如:“致命错误:在......中调用未定义的函数current_user_can()”

如果有人可以查看我的代码,那将非常感激。

我正在使用的代码在这里:

        global $current_user_can;
        if ( current_user_can( 'manage_options' ) ) {
            /* Admin User */

        } else {
            /* Member */
            echo "<p>something</p>"; 
}  

3 个答案:

答案 0 :(得分:1)

如果要直接检查成员的角色,可以使用以下代码:

global $current_user;
get_currentuserinfo();

if( !in_array( 'administrator', $current_user->roles ) ) {
 //Do something
} else {
 //Do something else
}

答案 1 :(得分:0)

这通常是因为pluggable.php由于某种原因未加载。尝试在功能之前添加它;

if(!function_exists('wp_get_current_user')) { include(ABSPATH . "wp-includes/pluggable.php"); }

它只检查是否加载了可插件,如果没有,则包含它。

答案 2 :(得分:0)

如果你正在创建一个插件,你必须包含像

if(!function_exists('wp_get_current_user')) { include(ABSPATH . "wp-includes/pluggable.php"); }// no need to add for theme functions
global $current_user_can;
    if ( ! current_user_can( 'manage_options' ) ) {
        // your stuff here
}