我想在论坛里边标注 “楼主”,请问哪个函数可以识别 “楼主”?

我想在论坛里边标注 “楼主”,请问哪个函数可以识别 “楼主”?


正在查看 6 个帖子:1-6 (共 6 个帖子)
  • 作者
    帖子
  • 虫洞
    • 文章数量: 43
    @jixin
    楼主

    我想在论坛里边给创建主题的用户标注“楼主”,请问哪个函数可以识别“楼主”?

    谢谢!

    诗语
    管理员
    • 文章数量: 5,866
    @feibisi

    这个需要具体找找,先提供个思路:

    因为 bbPress 的回复其实就是 WordPress 的评论一种形式,下面是给 WordPress 评论添加管理员表标识的方法,

    添加代码

    在主题文件内查找comments.php类似的文件,这个是评论样式的每个主题都不一样,然后搜索找到$comment->comment_author_email这样的文本,在<?php 前面添加以下代码。

    <?php if(1 == $comment->user_id) {
        echo '<span class="author-admin">管理员</span>';
    } ?>

    css样式

    在主题style.css文件的结尾添加以下css样式

    .author-admin{font-size:9px;color:#fff;padding:0 4px;background:#c40000;border-radius:2px;vertical-align:super}

    针对 bbPress 来说,应该还是需要判断用户 ID 和发帖人,晚点在找找详细方案。

    先在 bbPress 源代码里找找 bbp-reply-authorbbp-author-role 相关的函数,

    虫洞
    • 文章数量: 43
    @jixin
    楼主

    好的,多谢,好找了好久了,找不到相关函数。

    虫洞
    • 文章数量: 43
    @jixin
    楼主

    我自己解决这个问题了,灵感来自bbpress-private-replies这款插件。

    把下面代码添加到functions.php文件就可以在回复帖子作者头像下边显示“楼主”了,同时,楼主在该主题下回复的帖子,也会楼主两个字。

    function bbp_post_starter( $args = '' ) {
    $topic_author = bbp_get_topic_author_id();
    $reply_author = bbp_get_reply_author_id( $reply_id );
    
    if ( $reply_author === $topic_author ) {
    ?>
    <span class="xxx">楼主</span>
    <!--?php <br ?--> }
    }
    add_filter('bbp_theme_after_reply_author_details', 'bbp_post_starter');

    如果需要修改样式,可以把上边函数中的xxx换成你的样式。

    看看我的样式吧:

    诗语
    管理员
    • 文章数量: 5,866
    @feibisi

    不错哦,也是真能折腾。显示效果也挺好看的。

    虫洞
    • 文章数量: 43
    @jixin
    楼主

    上边的代码,有个BUG,在个人档案中心->创建的回复中,都会显示“楼主”,因为你是回复别人的,肯定不可能是楼主,所以还需要修改一下代码。

    修改后的代码如下:

    //添加楼主和非楼主角色
    function bbp_post_starter( $args = '' ) {
    	$topic_author = bbp_get_topic_author_id();
    	$reply_author = bbp_get_reply_author_id( $reply_id );
    	
    	if ( bbp_is_single_user_replies() ) {
    		
    	}
    	elseif ( $reply_author === $topic_author ) {
    		?>
            <span class="post-starter-bq">楼主</span>
            <?php
    	}
    }
    add_filter('bbp_theme_after_reply_author_details', 'bbp_post_starter');
正在查看 6 个帖子:1-6 (共 6 个帖子)
  • 哎呀,回复话题必需登录。

未找到对应子版块?请直接在 [疑难杂症] 版块中发帖提问。

收藏纪念品


有奖活动

参与论坛社区问答,有机会获赠文派瓦普(Wapuu.com)手办模型。

话题信息

商业系统