每次我使用wp_get_Current_User()时,我的插件都会中断

时间:2016-07-13 作者:FriedRyan

我一直在尝试制作一个注销插件,允许用户从他们应该参加的军事训练活动中注销。在他们填写一张表格,解释他们为什么不参加某个活动后,他们提交了表格,表格将所有数据放入mysql数据库。我试图将用户的id保存到其他数据中,这样我们就可以知道谁正在注销,但我尝试的一切都破坏了插件,并给了我一个白色的死亡屏幕。

谢谢你的帮助。以下是获取用户id的代码:

function f2user() {
// Get the current user\'s info 
$current_user = wp_get_current_user(); 

if ( !($current_user instanceof WP_User) ) 
    return; 

return $current_user->ID;
}

$usersid = f2user();
$activity = $_POST[\'activity\'];
$reason = $_POST[\'reason\'];
$explanation = $_POST[\'explanation\'];

2 个回复
SO网友:Ehsaan

您可以使用get_current_user_id().

$usersid = get_current_user_id();
$activity = $_POST[\'activity\'];
$reason = $_POST[\'reason\'];
$explanation = $_POST[\'explanation\'];
对于您的功能f2user() 您可以将代码更改为:

$current_user = wp_get_current_user(); 
return $current_user->ID;
根据wp_get_current_user() doc, 如果没有用户登录,$current_user->ID 将返回0。

SO网友:Rahul Parikh

试试这个。如果没有用户登录,则wp\\u get\\u current\\u user会出现致命错误,因此插件会中断。但是,如果只需要用户id,请使用get\\u current\\u user\\u id。如果没有用户登录,则返回0。这样你的插件就不会坏。谢谢

function f2user() {
    // Get the current user\'s info 
    $current_user = get_current_user_id(); 
    return $current_user;
}
$usersid = f2user();

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果