根据登录名显示用户名
Posted
技术标签:
【中文标题】根据登录名显示用户名【英文标题】:Show username depending on login 【发布时间】:2015-01-20 00:59:20 【问题描述】:这适用于构建 wordpress 评论系统的人。此代码确定点击“回复”后的帖子。
目标是获取在“作者”表单中输入的姓名或用户身份(通过 php),具体取决于此人是否已登录。
success: function(data, textStatus)
if(data=="success")
var avatar = "<?php echo get_avatar($id_or_email, 48,'/Avatar.png' ); ?>";
var author = "<?php if ( is_user_logged_in() ) : ?><?php echo $user_identity; ?><?php else :?>"jQuery('#author').val() ;
var authorurl = "<?php the_author_meta( 'user_url'); ?>";
var timestamp = "<?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?>";
var commenttext = jQuery('#comment').val();
jQuery('<li class="new-post">'+'<div class="comment-author vcard">'+avatar+
'<div class="comment-meta">'+'<b>'+'<a href="authorurl">'+author+'</b>'+'</a>'+
'<div class="comment-time-stamp">'+timestamp+'</div>'+'</div>'+'</div>'+
'<div class="comment-text">'+'<p>'+'<pre class="new-post-pre">'+commenttext+'</pre>'+'</p>'+'</div>'+'</li>').insertBefore(respond);
statusdiv.html('<p class="ajax-success" ></p>');
这就是问题所在:
var author = "<?php if ( is_user_logged_in() ) : ?><?php echo $user_identity; ?><?php else :?>"jQuery('#author').val() ;
【问题讨论】:
这是一个问题还是某种代码补丁?无论哪种方式,如果没有更多上下文,完全不清楚问题是什么 不是补丁。它只是 ajax 注释列表的 jQuery 部分。完整代码在这里:pastebin.com/UHnPgf4J 我突出显示的部分,因为问题决定了用户在发布时的名称。如果他们已登录,则需要使用 php,如果未登录,则需要使用 jQuery。我想知道如何使它工作。为什么是负面代表? 可能是因为(正如@charlietfl 所说)你只是抛出了一堆代码并且没有很好地解释它 - 你没有准确地解释你想要发生的事情,你没有提及发生了什么,并没有提及您尝试过的事情。 明白了。那不是我的本意。我以后会更彻底的。 【参考方案1】:您的 PHP 代码中缺少 endif
并且在错误的位置使用双引号(如果我很好理解这个问题的话):
var author = <? if ( is_user_logged_in() ) : echo '"'.$user_identity.'"'; else: ?> jQuery('#author').val() <? endif; ?>;
【讨论】:
非常感谢。我现在明白了。 'php' 标签是多余的。缺少“endif”是有道理的。如果我可以投票,我会的! 哦。哈哈。完毕。谢谢!以上是关于根据登录名显示用户名的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 Windows 登录名使用 VBA 获取电子邮件地址?