【问题标题】:Wordpress: Display "Edit Profile" link to author onlyWordpress:仅显示作者的“编辑个人资料”链接
【发布时间】:2011-04-06 22:13:04
【问题描述】:

我有一个带有自定义主题的 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';
}

?>

【问题讨论】:

  • 任何低于 50% 的东西我都会离开。只需 0.2 秒即可点击复选标记,只需几分钟即可输入答案。
  • 如果答案从未正确回答或不足以使其发挥作用,我应该如何将答案标记为已接受?

标签: php wordpress themes


【解决方案1】:

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

<?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-&gt;ID 的方式。然后它会加载当前用户的所有标准信息(请参阅the Codex 以获取由get_currentuserinfo() 填充的变量的完整列表)。然后它会在两个值之间进行简单的比较……无需检查$user_ID 是否有值,因为该变量的空值无论如何都不等于$curauth-&gt;ID

FWIW 我已经在 WP 3.0.1 上对此进行了测试,你应该一切顺利。

【讨论】:

  • 这是一个公平的辩护,我不会反对你 :-) 将来,你总是可以为你的问题提供赏金。这会将其弹出到列表顶部并为您提供更多答案(stackoverflow.com/faq#bounty)。或者在新的 WordPress Answers StackExchange 上提问 (wordpress.stackexchange.com)。
猜你喜欢
  • 2015-12-26
  • 2012-09-29
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-30
  • 2012-03-28
  • 1970-01-01
相关资源
最近更新 更多