我很想通过使用简码(运行 bbPress 2 + 未读主题插件)来显示未读 bbPress 主题的列表。
未读插件会创建一个postmeta
名为的时间戳bbpress_unread_posts_last_visit_X
(其中 X 是当前登录的用户 ID)。要显示未读主题列表,我会搜索所有具有bbpress_unread_posts_last_visit_X < _bbp_last_active_time
.
当前讨厌的解决方案:
利用现有的[bbp-topic-index]
简码 - 这会显示所有主题的列表并处理自定义 bbpress 主题模板等。
所以我应用了一个过滤器,bbp_after_has_topics_parse_args
它添加了一个新meta_query
参数来寻找这个新的未读帖子键bbpress_unread_posts_last_visit_X
。然后,我必须过滤原始生成get_meta_sql
的 SQL 以调整 SQL,以便它与其他 postmeta 值而不是硬编码的值进行比较meta_query
。
get_meta_sql
没有那个讨厌的黑客,谁能看到更好的方法来实现这一目标?这种快速解决方案的主要问题是,如果您单击未读列表上的“下一页”,它将转到所有主题(未读或未读)的正常下一页。
代码:
https://gist.github.com/dtbaker/5906404
在此处实现(滚动到底部):
http://ultimateclientmanager.com/forums/
编辑:将此短代码放在自己的页面上可以正常工作并解决分页问题(例如:http ://ultimateclientmanager.com/forums/unread-forum-posts/ )