如果登录的用户查看其个人资料页面

时间:2018-09-12 作者:ahmet

我做了一些搜索,但找不到确切的答案。

我的目标是在个人资料页面上显示“编辑链接”,但它只对该用户可见。

例如,John登录并查看页面站点。com/author/john,然后他将看到编辑链接,但他不会在其他用户页面上看到此链接。

如果我使用下面的代码,登录用户会在每个配置文件页面上看到该链接。

<?php if ( is_user_logged_in() ) {
 // edit link
 } ?>
我想我需要获取当前的用户信息,并对其进行处理。

任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:Xhynk 整理而成

您可以使用get_current_user_id(), get_the_author_meta(\'ID\'), 和get_edit_user_link() 功能。以下面的代码段为例:

if( get_current_user_id() === get_the_author_meta(\'ID\') ){
    printf( \'<a href="%s">Edit Profile</a>\', get_edit_user_link() );
}
get_current_user_id() 将返回int(0) 如果没有人登录,或当前用户的整数ID。这有效地消除了is_user_logged_in().

get_the_author_meta(\'ID\') 将返回string(0) "" 如果没有页面作者(例如在主页上),或者如果有作者,则为作者的整数ID,例如在WordPress作者存档页面上。

您还可以添加is_user_logged_in(), 但正如我上面提到的,我认为这有点多余,因为get_current_user_id() 基本上为您解决了这一问题:

if( is_user_logged_in() && ( get_current_user_id() === get_the_author_meta(\'ID\') ) ){
    printf( \'<a href="%s">Edit Profile</a>\', get_edit_user_link() );
}

结束

相关推荐