-
作者帖子
-
我想在论坛里边给创建主题的用户标注 「楼主」,请问哪个函数可以识别 「楼主」?
谢谢!
这个需要具体找找,先提供个思路:
因为 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-author
、bbp-author-role
相关的函数,好的,多谢,好找了好久了,找不到相关函数。
我自己解决这个问题了,灵感来自 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 换成你的样式。
看看我的样式吧:
不错哦,也是真能折腾。显示效果也挺好看的。
上边的代码,有个 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');
-
作者帖子
- 哎呀,回复话题必需登录。