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

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

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

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

    谢谢!

    诗语
    管理员
    • 文章数量: 5,908
    @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,908
    @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 个帖子)
  • 哎呀,回复话题必需登录。

话题信息