bbPress 中文主题 CSS 自定义美化样式

bbPress 中文主题 CSS 自定义美化样式

bbPress 是一款简单易用的 WordPress 论坛程序,默认界面并不是很友好,需要主题兼容不然会非常简陋,这是薇晓朵制作分享的一款 bbPress 中文主题以替代其默认界面。

如何使用和添加代码:

1 、首先请确保你已经安装了 bbPress 论坛,可在 WordPress 网站后台直接搜索:bbPress 进行安装。


2 、请打开网站前台编辑器的 【自定义】,复制下方美化代码到自定义 css 中。


3 、美化代码内容如下:

/* bbPress China theme by Weixiaoduo.com
* Theme URL: https://www.weixiaoduo.com/themes/bbpress-china-theme
* 如下修改 CSS 和界面样式请在下方调整,bbPress 中文通用美化代码由薇晓朵提供,如需帮助请到支持论坛。
* */

html {
-webkit-font-smoothing: antialiased;
}

body {
font: 14px/25px PingFang SC, Microsoft YaHei, WenQuanYi Micro Hei, Arial, Helvetica, sans-serif;
}

#bbpress-forums li.bbp-header { border-top: none }
#bbpress-forums li.bbp-header,
#bbpress-forums li.bbp-footer { background: #f7f7f7 }
.content-area .forum-titles { font-weight: bold; font-weight: 600; color: #777; }
.content-area .bbp-forum-title,
.content-area .bbp-topic-permalink { color: #222; font-weight: bold; font-weight: 600; font-size: 13px; margin: 0; }
#bbpress-forums .bbp-forum-info .bbp-forum-content,
#bbpress-forums p.bbp-topic-meta { font-size: 13px }
#bbpress-forums li.bbp-header,
#bbpress-forums li.bbp-footer,
#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic,
div.bbp-forum-header,
div.bbp-topic-header,
div.bbp-reply-header,
li.bbp-body div.hentry { padding: 15px 15px }
#bbpress-forums div.odd,
#bbpress-forums ul.odd { background: none }
#bbpress-forums .bbp-forum-info .bbp-forum-content,
#bbpress-forums p.bbp-topic-meta { margin-bottom: 0; margin-top: 0; }
.bbp-reply-author { text-align: left !important }
#bbpress-forums fieldset.bbp-form label { margin-bottom: 5px }
.bbp-topics-front ul.super-sticky,
.bbp-topics ul.super-sticky,
.bbp-topics ul.sticky,
.bbp-forum-content ul.sticky { background: none !important; font-size: 1em; }
#bbpress-forums fieldset.bbp-form p,
#bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums fieldset.bbp-form select { margin-bottom: 20px }
div.bbp-submit-wrapper { float: none; margin-top: 0; }
div.bbp-submit-wrapper button { width: 100%; }
#bbpress-forums div.bbp-the-content-wrapper div.quicktags-toolbar { border: 1px solid #eee; border-radius: 0; }
#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content { background: none; border: 1px solid #eee; border-top: none; color: #555; }
div.bbp-forum-header,
div.bbp-topic-header,
div.bbp-reply-header { border-color: #eee }
#bbpress-forums div.bbp-forum-header,
#bbpress-forums div.bbp-topic-header,
#bbpress-forums div.bbp-reply-header { background: #f5f5f5 }
#bbpress-forums li.bbp-header,
#bbpress-forums li.bbp-footer { font-weight: bold; font-weight: 600; color: #777; }
#bbpress-forums li.bbp-footer { display: none }
#bbpress-forums .status-trash.odd { background: none }
#bbpress-forums .status-spam,
#bbpress-forums .status-spam.odd { opacity: 0.3; background: #f7f7f7; }
span.bbp-admin-links a { color: #666 }
#bbpress-forums div.bbp-reply-content { padding: 15px }
#bbpress-forums div.reply { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
#bbpress-forums .bbp-search-author,
#bbpress-forums .bbp-search-content { text-align: left }
.bbp-search .bbp-meta { display: none }
#bbpress-forums div.bbp-forum-title h3,
#bbpress-forums div.bbp-topic-title h3,
#bbpress-forums div.bbp-reply-title h3 { font-size: 14px; font-weight: bold; font-weight: 600; }
.bbpress #subscription-toggle {float: right;}
/* hide pagination count */
.bbp-pagination-count { display: none }
/* search + breadcrumbs */
#bbp_search,
#bbp_search_submit { height: 30px; margin-bottom: 20px; padding-top: 0; padding-bottom: 0; }
#bbpress-forums div.bbp-search-form { float: none }
#bbp_search { width: 70% !important; float: left; height: 40px; }
#bbp_search_submit { float: right; width: 28%; height: 40px; line-height: 40px; padding-top: 0; padding-bottom: 0; }
/* hide "freshness */
.forum-archive .bbp-topic-freshness,
.forum-archive .bbp-forum-freshness,
li.bbp-forum-freshness { display: none }
li.bbp-forum-info,
li.bbp-topic-title { width: 55% }
/* hide social */
body.bbpress .social-share-title,
body.bbpress .social-share-buttons { display: none }
/* login */
.bbp-login-form,
.bbp-logged-in { background: #f7f7f7; border: 1px solid #eee; padding: 20px; }
.bbp-login-form label { width: auto; margin-bottom: 5px; color: #000; }
.bbp-login-form input[type="text"],
.bbp-login-form input[type="password"] { background: #fff; width: 100%; max-width: 100%; border: 1px solid #eee; }
.bbp-login-form input[type="text"]:focus,
.bbp-login-form input[type="password"]:focus { border-color: #bbb; box-shadow: 0 1px 2px rgba(0,0,0,0.1); }
#sidebar .bbp-login-form label[for=rememberme] { width: auto }
/* logged in */
.bbp-logged-in h4 { margin: 0 0 10px; font-weight: bold; font-weight: 600; font-size: 14px; }
.bbp-logged-in .user-submit { float: right }
.bbp-logged-in .user-submit img { display: block; background: #fff; padding: 3px; border: 1px solid #e4e4e4; }
.bbp-logged-in .user-submit img:hover { opacity: 0.8; -moz-opacity: 0.8; -webkit-opacity: 0.8; }
.bbp-logged-in img.avatar { margin: 0 }
.bbp-login-form:after,
.bbp-logged-in:after { content: ""; display: block; clear: both; }
/* bbpress stats */
.widget_display_stats dt { float: left; width: 80%; background: #f7f7f7; padding: 0 12px; text-align: left; height: 40px; line-height: 40px; margin-bottom: 10px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; border: 1px solid #eee; border-right: none; }
.widget_display_stats dd { float: left; width: 20%; background: #f3f3f3; border: 1px solid #eee; color: #000; text-align: center; padding: 0 12px; height: 40px; line-height: 40px; margin-bottom: 10px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
/* bbpress notice */
div.bbp-template-notice, div.indicator-hint {
border-width: 2px;
border-style: solid;
padding: 0 0.6em;
margin: 5px 0 15px;
border-radius: 0px;
background-color: #ffffe0;
border-color: #e6db55;
color: #000;
clear: both;
}
div.bbp-template-notice p {
margin: 0.5em 0 10px 0 !important;
padding: 5px;
font-size: 13px;
line-height: 150%;
}
div.bbp-template-notice p {
margin: 0.5em 0 10px 0 !important;
padding: 10px;
font-size: 13px;
line-height: 150%;
}
div.bbp-template-notice.info {
border: #cee1ef 2px solid;
background-color: #f0f8ff;
}
div.bbp-template-notice.important {
border: #e6db55 2px solid;
background-color: #fffbcc;
}
#bbpress-forums p.bbp-topic-meta img.avatar, #bbpress-forums ul.bbp-reply-revision-log img.avatar, #bbpress-forums ul.bbp-topic-revision-log img.avatar, #bbpress-forums div.bbp-template-notice img.avatar, #bbpress-forums .widget_display_topics img.avatar, #bbpress-forums .widget_display_replies img.avatar {
float: none;
margin-bottom: -7px;
border: 3px double #ddd;
display: none !important;
}
div.bbp-submit-wrapper button {
width: 100%;
font-size: 14px;
color: #FFFFFF;
font-weight: 700;
}
#bbpress-forums div.bbp-forum-author img.avatar, #bbpress-forums div.bbp-topic-author img.avatar, #bbpress-forums div.bbp-reply-author img.avatar {
border: none;
max-width: 80px;
padding: 0;
margin: 12px auto 0 auto;
float: none;
padding: 5px;
/* height: 80px; */
/* width: 80px; */
border: 1px solid #e7e7e7;
/* -webkit-box-shadow: 0 0 7px rgba(0,0,0,.1); */
-moz-box-shadow: 0 0 7px rgba(0,0,0,.1);
/* box-shadow: 0 0 7px rgba(0,0,0,.1); */
background: #fff;
}

4 、调整为适合你主题的颜色及样式,

这就看具体情况了,因为是通用代码,我们尽量没有加入太多个性化的东西,如果你想要改颜色和样式的话就需要改上面的 css 来和你自己的主题匹配,


比如我们做的几款中文主题集成的样式:

 

升级论坛

升级论坛

随着 bbPress 的改进,偶尔需要升级数据库,但有些论坛太大而无法自动升级。使用以下工具手动运行升级例程。

「升级论坛」 工具位于:
WordPress 仪表盘 > 工具 > 论坛 > 升级论坛
(/wp-admin/tools.php?page=bbp-upgrade)

这些工具会产生大量的数据库开销,因此一次只能运行 1 个修复作业。

  • 升级用户话题参与度
  • 升级用户话题收藏夹
  • 升级用户话题订阅
  • 升级用户论坛订阅
  • 从用户元中删除收藏夹
  • 从用户元中删除话题订阅
  • 从用户元中删除论坛订阅
  • 升级 BuddyPress Group 论坛关系

Akismet 反垃圾帖

Akismet 反垃圾帖

bbPress 与 Akismet 完全集成。 Akismet 是一个非常有效的插件和服务,可以捕获各种类型的垃圾邮件和绝大多数垃圾邮件。如果您还有一个现有的博客,并且允许用户对您的 WordPress 网站上的博客文章发表评论,则此服务特别有用,因为 Akismet 也会接受这一点。

Akismet 为您的 bbPress 论坛所做的是在将任何新话题或回复发布到您的论坛之前对其进行扫描,以确定 bbPress 帖子是否为垃圾邮件,其扫描服务运行数百次测试。如果该服务捕获到垃圾邮件话题,您将在 WordPress 后端垃圾邮件下的话题部分看到它,并且回复的过程相同。

这将使节制变得更加容易,这样您就不必像没有垃圾邮件一样处理垃圾邮件。不再有垃圾邮件发送者扰乱您的社区,也不再有自己将帖子标记为垃圾邮件后的帖子。

通常 Akismet 预装了任何 WordPress 安装,因此您应该已经安装了它,但是如果您是不幸的人之一,请转到插件 > 添加新,然后您应该将 Akismet 视为特色插件之一,然后从那里安装。

Akismet 确实需要一个 API 密钥,您可以通过在其网站上注册来获取该密钥。

Akismet 可免费供个人使用,但不能像您在网站上销售产品那样用于商业用途。 如果您需要将该服务用于商业用途,Akismet 为该服务提供了多种计划。

常见任务

常见任务

移动论坛

可以从不同的父论坛或类别移动论坛。为达到这个;

  1. 登录到 WordPress 后端并转到论坛 > 所有论坛
  2. 编辑您要移动的特定论坛
  3. 现在更改所选论坛的父论坛属性

您还可以选择选择  — 无父级 —,这样论坛将不再有父级论坛或类别。

关闭论坛

关闭论坛可以关闭任何子论坛,也可以限制新话题的创建和对已关闭论坛中现有话题的新回复。

  1. 登录到 WordPress 后端并转到论坛 > 所有论坛
  2. 编辑您要关闭的特定论坛
  3. 现在将所选论坛的状态论坛属性更改为已关闭

删除论坛

  1. 登录到 WordPress 后端并转到论坛 > 所有论坛
  2. 您将看到一个论坛列表,每个论坛都有一组链接,其中一个是红色垃圾链接。
  3. 单击要移至垃圾箱的特定论坛的垃圾箱链接,然后删除。
  4. 现在单击顶部的垃圾操作链接以过滤并仅查看已删除的帖子,然后从那里删除或恢复您的论坛。
  5. 要删除垃圾箱中的所有论坛,请单击清空垃圾箱按钮。

编辑话题

在前端

  1. 登录您的网站 前往您网站上的论坛
  2. 要编辑话题,请进入话题并点击话题帖子上的编辑管理链接。
  3. 从那里您可以执行下面列出的大部分内容,添加或删除话题的标签,以及编辑话题的帖子。

在 WordPress 后端

  1. 登录 WordPress 后端并转到话题 > 所有话题
  2. 点击您要编辑的话题的编辑链接。

结束话题

关闭或锁定话题不允许参与者进一步回复。键盘管理员和版主仍然可以回复。

在前端

  1. 登录您的网站 前往您网站上的论坛
  2. 要关闭话题,请进入话题并点击话题帖子上的关闭管理链接。您还可以通过单击 「编辑管理」 链接并将 「话题状态」 更改为 「已关闭」 来编辑话题。

在 WordPress 后端

  1. 登录 WordPress 后端并转到话题 > 所有话题
  2. 您将看到一个话题列表,每个话题都有一组链接,其中一个是关闭链接。
  3. 单击要禁止任何进一步回复的任何话题的关闭链接。

置顶话题

在前端

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要将某个话题粘贴到某个论坛或所有论坛的顶部,请进入该话题并点击 Stick Admin Link 将该话题粘贴到论坛顶部,或者点击 (To Front)Admin Link to Super Sticky 或者把一个话题放到所有论坛的顶部。您也可以通过单击编辑管理链接来编辑话题 并将话题状态更改为粘性或超级粘性。

在 WordPress 后端

  1. 登录 WordPress 后端并转到话题 > 所有话题
  2. 您将看到一个话题列表,每个话题都有一组链接,一个是 Stick 链接,另一个是 (To Front) 链接。
  3. 单击 您要设为 Sticky 的话题的 Stick 链接。要使话题超级粘,或粘在所有论坛的顶部,请单击 (到前面) 链接。

合并话题

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要合并一个话题,请进入该话题并点击 Merge Admin Link 。
  3. 您将看到一个页面,其中包含配置您希望如何将话题合并在一起的选项。从同一论坛的话题列表中选择要合并的话题,并配置附加功能,例如保留原始话题的订阅、收藏夹、话题标签。
  4. 根据您的喜好进行配置后,单击提交按钮。

要将一个话题从另一个论坛合并到另一个话题,您可能需要先将该话题移动到另一个论坛,然后再从那里合并。

删除话题

在前端

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要删除某个话题,请进入该话题并点击垃圾管理链接 将该话题放入垃圾箱。
  3. 现在您将看到垃圾箱链接已转到删除管理链接,您可以从那里单击 删除以永久删除该话题。

在 WordPress 后端

  1. 登录 WordPress 后台并转到话题 > 所有话题
  2. 您将看到一个话题列表,每个话题都有一组链接,其中一个是红色垃圾链接。
  3. 单击要删除的话题的垃圾箱链接。现在您的话题在垃圾桶里。
  4. 现在,您可以单击顶部的垃圾操作链接进行过滤并仅查看已删除的帖子,然后 从那里删除或恢复您的话题。
  5. 要删除放置在垃圾箱中的所有话题,请单击清空垃圾箱按钮。

将话题标记为垃圾邮件

在前端

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要将某个话题标记为垃圾邮件,请进入该话题并点击垃圾邮件管理链接 将该话题放入垃圾邮件队列。

在 WordPress 后端

  1. 登录 WordPress 后端并转到话题 > 所有话题
  2. 您将看到一个话题列表,每个话题都有一组链接,其中一个是红色垃圾邮件 链接。
  3. 单击 要标记为垃圾邮件的话题的垃圾邮件链接。现在该话题在垃圾邮件队列中。
  4. 单击 顶部的垃圾邮件操作链接以过滤并仅查看标记为垃圾邮件的话题,然后单击 「清空垃圾邮件」 按钮取消垃圾邮件合法帖子或删除放置在垃圾邮件队列中的所有话题。

移动话题

在前端

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要移动话题,请编辑该话题,并更改该话题所在的论坛。

在 WordPress 后端

  1. 登录 WordPress 后端并转到话题 > 所有话题
  2. 编辑要移动的特定话题
  3. 在所选话题的话题属性中更改论坛

拆分话题

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要拆分话题,请进入该话题并在您想要拆分的回复中点击拆分管理链接。
  3. 您将看到一个页面,其中包含用于配置如何拆分话题的选项。
  4. 您可以将回复拆分为另一个现有话题,或者从您拆分的回复中创建一个新话题。您可以配置附加功能,例如保留原始话题的订阅、收藏夹、话题标签。
  5. 根据您的喜好进行配置后,单击提交按钮。

编辑回复

在前端

  1. 登录您的网站 前往您网站上的论坛
  2. 要编辑回复,请点击 它附近的编辑管理链接。
  3. 从那里您可以执行下面列出的大部分内容,并编辑回复帖子。

在 WordPress 后端

  1. 登录 WordPress 后端并转到回复 > 所有回复
  2. 通过您要编辑的回复点击编辑链接。

移动回复

  1. 登录 WordPress 后端并转到回复 > 所有回复
  2. 通过您要编辑的回复点击编辑链接。
  3. 您现在将看到 Reply Attributes 的元框。要更改话题,回复是通过话题更改编号 :您要将其移动到的话题的 ID 。像 Reveal IDs 这样的插件可以帮助您轻松地在 Topics > All Topics 中找到话题的 ID 。
  4. 确保您要移动回复的话题位于 「论坛:回复属性」 中列出的正确论坛中。

您还可以通过将您想要回复线程的回复的 ID 放在回复属性中的回复: 中,将回复移动到特定回复下的线程。

删除回复

在前端

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要删除回复,请转到回复并点击垃圾管理链接 将回复放入垃圾箱。
  3. 现在您将看到垃圾箱链接已转到删除管理链接,您可以从那里单击 删除以永久删除回复。

在 WordPress 后端

  1. 登录 WordPress 后台并转到回复 > 所有回复
  2. 您将看到一个回复​​列表,每个回复都有一组链接,其中一个是红色垃圾链接。
  3. 单击要删除的回复的垃圾箱链接。现在您的回复已在垃圾箱中。
  4. 现在,您可以单击顶部的 「垃圾桶」 操作链接以进行过滤并仅查看已删除的帖子,然后 从那里删除或恢复话题。
  5. 要删除放置在垃圾箱中的所有回复,请单击清空垃圾箱按钮。

将回复标记为垃圾邮件

在前端

  1. 登录您的网站并访问您网站上的论坛
  2. 如果您需要将回复标记为垃圾邮件,请转到回复并点击垃圾邮件管理链接 将回复放入垃圾邮件队列。

在 WordPress 后端

  1. 登录 WordPress 后端并转到回复 > 所有回复
  2. 您将看到一个回复​​列表,每个回复都有一组链接,其中一个是红色垃圾邮件 链接。单击 要标记为垃圾邮件的回复的垃圾邮件链接。现在回复在垃圾邮件队列中。
  3. 单击 顶部的垃圾邮件操作链接以过滤并仅查看标记为垃圾邮件的回复,然后单击 「清空垃圾邮件」 按钮取消垃圾邮件合法帖子或删除放置在垃圾邮件队列中的所有回复。

WordPress 版本兼容性

WordPress 版本兼容性

bbPress 在最新可用版本的 WordPress 上运行时效果最佳——我们针对最新和最好的版本进行了优化。出于这个原因,bbPress 团队强烈建议所有 WordPress 安装保持最新。但是,我们努力保持对许多旧版 WordPress 版本的支持——通常是四个或五个主要版本。

在每个开发周期开始时,我们都会重新评估 bbPress 所需的最低 WP 版本。我们的粗略指导方针如下:

  • 如果 WordPress 版本在一年多以前就过时了,那么它就是一个被删除的候选者。有关 WP 发布日期的列表,请参阅 https://wordpress.org/news/category/releases/
  • 如果 WordPress 版本的使用率低于所有 WP 安装的 5%,则它是一个强有力的删除候选者。有关 WordPress 版本使用情况的信息,请参阅 https://wordpress.org/about/stats/

当我们说 bbPress 「支持」 给定版本的 WordPress 时,我们是什么意思?大致:

  • bbPress 应该在 WP 版本上无错误地运行 (即,没有致命错误或 PHP 通知) 。
  • 如果新版本的 bbPress 包含需要最新版本 WordPress 的功能,则应在较早的 WP 版本上正常禁用该功能。
  • WP 版本将包含在我们的自动化测试版本中

通过扩展:当我们 「放弃支持」 某个版本的 WordPress 时,这意味着我们停止将其包含在我们的构建中,停止回答与该特定 WP 版本相关的支持问题,并停止 function_exists() 在构建时针对该版本进行检查 (等) 新的 bbPress 功能。放弃支持并不意味着我们会积极尝试破解旧版本的 WP ????

搜索重定向到首页

搜索重定向到首页

此问题包括从论坛索引页面上方的搜索表单、话题索引页面或 bbPress 论坛搜索小工具在 bbPress 论坛搜索中进行的任何搜索,以某种方式重定向到您网站的首页。

原因

这可能是用户 在 「单一论坛 Slug」 部分的 「设置」>「论坛」 中编辑论坛搜索 slug 引起的用户问题。一些用户将论坛搜索变成了一些包含两个单词之间的空格的东西,比如 「论坛搜索」 。最后,在使用这个 slug 时会输出一个%20 之类的 url  来代替空格,并且几乎肯定会每次都重定向到主页。

在某些情况下,在 「设置」>「论坛」 中禁用论坛 root slug 可能会出现相同的问题。

解决方案

将 「设置」>「论坛」 中的论坛搜索自定义 slug 编辑为不带空格的内容,只需将空格替换为例如破折号,例如 (forum-search) 。

如果您在论坛中禁用了论坛 root slug,请使其不再出现问题,或者将论坛搜索 slug 更改为默认 slug「搜索」 以外的其他内容。

如果问题仍然存在,请确保您已完成此处所述的插件和话题问题解决方案: 故障排除

收藏夹和订阅

收藏夹和订阅

bbPress 2.6 改变了收藏夹和订阅在数据库中的存储方式。此页面解释了原因,以及如果升级没有自动为您触发,您可能需要采取哪些步骤。

如果升级在完成之前失败,那没关系。您可以随时安全地重新运行升级,Tools > Forums 而不会破坏或复制数据。

警告

对于用户少于 10,000 的小型论坛,bbPress 将尝试自动迁移您的收藏夹和订阅。如果您的论坛有超过 10,000 名用户,bbPress 知道它可能需要比可用资源更多的资源,并且会跳过升级。

解释

bbPress 2.6 之前的所有版本都存储了收藏夹和订阅,wp_usermeta 每个站点上的每个用户都有 1 个值。在具有许多用户的多站点安装中,这会导致低效的数据库查询和许多从未以全局方式使用的全局可用行。

bbPress 2.6 采用将每个个人收藏和订阅存储在 wp_postmeta 数据库表中的方法。这允许进行一些不同的改进

  • 两种方式都可以更轻松地查询 - 每个用户和站点的订阅数,以及每个话题的订阅数
  • 更少的行 wp_usermeta 导致 WordPress 和 bbPress 中的单方面性能改进
  • 收集用户电子邮件地址以发送订阅现在是一个非常简单且快速的数据库查询

手动升级

如果您是少数幸运的人之一,因为您拥有 10,000 多个用户,因此需要手动升级您的论坛,那么您需要查看 3 个 bbPress 功能 bbpress/includes/admin/tools.php:

  • bbp_admin_upgrade_user_forum_subscriptions()
  • bbp_admin_upgrade_user_topic_subscriptions()
  • bbp_admin_upgrade_user_favorites()

这 3 个函数执行以下操作:

  • 查询 wp_usermeta 通过 meta_key 为所有用户谁已经收藏或订阅
  • 循环遍历每一行,并将其拆分为帖子 ID
  • 循环遍历每个帖子 ID,并将用户 ID 添加到它的元数据中,并使用适当的 meta_key
  • 如果添加的项数与原来匹配,usermeta 则删除 2.6 之前的

您可能想要执行以下操作:

  • 增加可用于 PHP 和 Web 服务器软件 (Apache 、 Nginx 等) 的内存量
  • 增加运行这些脚本的服务器的物理内存
  • 增加超时长度以允许这些脚本按原样运行几分钟
  • 修改原始查询以限制用户 ID 结果循环。 (通常一次 1000 个用户是一个不错的数字。)
  • 注释掉 对测试的调用 add_post_meta() 和 delete_metadata_by_mid() 试运行

对于添加的上下文,这些是 bbPress 团队用来升级 BuddyPress.org 、 bbPress.org 、 WordCamp.org 和 WordPress.org 的相同脚本和技术。它们工作正常,而且工作得很好,但我们理解移动数据是可怕的,并希望您对幕后发生的事情做好准备并感到舒适。

bbp_setup_current_user

bbp_setup_current_user

该 bbp_setup_current_user() 函数与 WordPress 的 set_current_user 操作相关联。在内部,它只调用 bbp_setup_current_user 动作,bbPress 使用该动作向希望挂钩 bbPress 用户功能的第三方插件宣布自己。

这有点黑客技巧,因为插件依赖项在 WordPress 中不存在,但它仍然是定位 bbPress 并专门为其创建插件的绝佳方式。

存储的数据库数据

存储的数据库数据

用户

所有用户和用户数据都存储在这些表中。

  • wp_users
  • wp_usermeta

内容

bbPress 在这些表中安装和存储所有论坛、话题和回复文章类型及其数据。

  • wp_posts
  • wp_postmeta

bbPress 设置以_bbp_此处为前缀并存储在此处。

  • wp_options

标签

bbPress 安装话题标签,它们的数据都存储在这些表中。

  • wp_terms
  • wp_term_relationships
  • wp_term_taxononmy

修订

修订

修订日志使用 WordPress 内部现有的修订系统来存储任何帖子编辑的记录,并在任何 bbPress 主题或已编辑的回复的前端显示此信息。

要启用在编辑后显示话题或回复的修订日志的功能:

  1. 转到 WordPress 后端中的设置 > 论坛
  2. 然后在论坛功能部分确保启用 「允许话题和回复修订日志记录」

每当您通过单击帖子上的编辑管理链接来编辑话题或回复时,您将看到类似于下图显示的内容。

 

修订记录编辑回复

默认情况下会启用一个复选框,表示 「保留此编辑的日志」,如果您不希望在帖子的前端显示修订日志,用户可以取消选中该复选框。

还有一个输入框,用户还可以选择在其中输入编辑原因。这有助于论坛中的其他用户了解您编辑特定帖子的原因,无论是拼写错误还是版主留下用户帖子被编辑的原因。

在编辑话题或回复并允许修订日志显示在前端后,保留此编辑的日志复选框保持不变,修订日志看起来与此类似。

修订记录显示

修订日志会显示帖子是话题还是回复、帖子被编辑的时间、上次编辑帖子的用户,以及如果用户包含编辑帖子的原因,它也会显示。

如果最后一个编辑回复或话题的用户是能够编辑其他用户帖子的用户,默认情况下是 Keymaster 或版主,那么它将在修订日志中显示该用户的头像和个人资料链接。