Wordpress:仅向作者显示“编辑个人资料”链接

时间:2010-09-01 16:47:11

标签: php wordpress themes

我有一个自定义主题的WordPress网站。我正在使用自定义作者模板页面来显示用户页面的公共“配置文件”。我想显示一个指向编辑页面的链接(我也有一个模板),只有登录用户也是该特定作者。

我有以下代码,但它显示了所有已登录用户的编辑链接。我不希望用户认为他们可以编辑其他作者的个人资料。

<?php global $user_id, $user_login; 
get_currentuserinfo();  
$author_id = $curauth->user_id; 

if($user_id !== '' && $author_id == $user_id){
    echo 'EDIT LINK HERE';
}

&GT;

1 个答案:

答案 0 :(得分:0)

你快到了。不要担心全局变量,它们只是搞砸了。你想要的是这个:

<?php
if(get_query_var('author_name')) :
    $curauth = get_user_by('slug', get_query_var('author_name'));
else :
    $curauth = get_userdata(get_query_var('author'));
endif;

get_currentuserinfo();

if( $curauth->ID == $user_ID) {

    // Do your edit link work here ...

}
?>

首先根据用于生成作者个人资料页面的查询变量加载当前作者。这就是你得到的$curauth->ID。然后,它会加载当前用户的所有标准信息(有关get_currentuserinfo()填充的变量的完整列表,请参阅the Codex)。然后它在两个值之间进行简单的比较......不需要检查$user_ID是否有值,因为该变量的空值无论如何都不会等于$curauth->ID

FWIW我在WP 3.0.1上测试了这个,你应该好好去。