所以我试图在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>";
}
答案 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
}