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 來和你自己的主題匹配,


比如我們做的幾款中文主題整合的樣式:

 

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 的相同指令碼和技術。它們工作正常,而且工作得很好,但我們理解移動資料是可怕的,並希望您對幕後發生的事情做好準備並感到舒適。

升級論壇

升級論壇

隨著 bbPress 的改進,偶爾需要升級資料庫,但有些論壇太大而無法自動升級。使用以下工具手動執行升級例程。

“升級論壇” 工具位於:
WordPress 儀表盤 > 工具 > 論壇 > 升級論壇
(/wp-admin/tools.php?page=bbp-upgrade)

這些工具會產生大量的資料庫開銷,因此一次只能執行 1 個修復作業。

  • 升級使用者話題參與度
  • 升級使用者話題收藏夾
  • 升級使用者話題訂閱
  • 升級使用者論壇訂閱
  • 從使用者元中刪除收藏夾
  • 從使用者元中刪除話題訂閱
  • 從使用者元中刪除論壇訂閱
  • 升級 BuddyPress Group 論壇關係

定製

定製

有很多方法可以透過樣式設定或僅向您的站點新增額外功能來自定義您的 bbPress,因此請繼續學習如何自定義您的 bbPress 論壇。

安裝外掛

bbPress 帶有許多外掛來擴充套件 bbPress 論壇的功能。無論您是想要更好的支援論壇功能,還是隻是透過投票或引用來增強社羣體驗。您可以在 bbpress.orgwordpress.org 的外掛部分中搜尋大量 bbPress 外掛。

開發外掛

您也可以決定為您的 bbPress 論壇建立一個自定義的 bbPress 外掛,所以希望這個連結列表能幫助您做到這一點。

您還可以分叉或貢獻任何現有的 bbPress 外掛。

安裝主題

雖然 bbPress 可以處理大多數主題,但可能需要一些工作才能這樣做。安裝主題時,建議您找到一個支援 bbPress 的 WordPress 主題。

開發主題

無論是為 bbPress 建立子主題還是您自己的自定義主題,建立主題都將為您提供最大的靈活性來自定義 bbPress 。

自定義的其他步驟

新增程式碼片段

程式碼片段通常是一小段程式碼,可用於調整您的網站或為您的 bbPress 網站新增小而精巧的功能。這些片段需要放置在您的子主題的 functions.php 檔案或功能外掛中。

有一部分使用者提交的程式碼片段應該有助於向您的 bbPress 站點新增一些基本功能或調整。

bbPress 的論壇提供了從社羣來幫助您新增任何其他種類的額外功能新增到您的 bbPress 的網站很多程式碼片斷。因此,您可能希望在論壇中進行搜尋並嘗試找到您要查詢的內容。

許多 bbPress 程式碼片段可能會發布在許多程式碼貼上站點,例如 Github 的 GistPastebin,因此這些站點可能值得一看。

設計您的論壇

您可能想要修改 bbPress 的外觀,那麼 css 就是要走的路!建議從 bbPress 外掛中複製 bbpress.css 檔案並將其放置在名為 “css” 的資料夾中的子主題中,或者至少安裝一個自定義 css 外掛來放置小的 css 片段。希望列出的這些其他連結將幫助您更好地設計您的論壇。

儲存的資料庫資料

儲存的資料庫資料

使用者

所有使用者和使用者資料都儲存在這些表中。

  • wp_users
  • wp_usermeta

內容

bbPress 在這些表中安裝和儲存所有論壇、話題和回覆文章型別及其資料。

  • wp_posts
  • wp_postmeta

bbPress 設定以_bbp_此處為字首並儲存在此處。

  • wp_options

標籤

bbPress 安裝話題標籤,它們的資料都儲存在這些表中。

  • wp_terms
  • wp_term_relationships
  • wp_term_taxononmy

提高效能

提高效能

效能是任何網站的關鍵,希望本指南能讓您走上正確的軌道,以最佳化您的網站以在您的社羣發展的同時執行。

主機託管

您擁有的伺服器是快速網站最重要的一步,整體效能從您的主機伺服器和硬體開始。

確保您擁有功能強大且功能強大的伺服器,例如 Apache,或者使用 Nginx,因為它非常高效,但任何可以執行 PHP 或 MySQL 的伺服器都應該沒問題。

如果您的社羣開始大幅增長,請將您的託管環境升級到虛擬專用伺服器或更好的專用伺服器,以便每天處理大量使用者和帖子。雖然可以在共享託管環境中執行 bbPress,並且對於小型社羣來說效果很好,但您的社羣發展得越多,您的站點就越慢,共享託管就越不是一個可行的選擇。

bbPress 和 WordPress 在豐富的託管環境中工作得最好。要為您的主機尋找推薦的解決方案,您可以檢視此特色 WordPress 主機列表

操作碼快取

顯著提高效能的一種極好方法是在您的伺服器上安裝 Opcode 快取器。這可以透過快取來自先前請求的 PHP 操作碼來提高頁面載入和每秒請求數。

要安裝 Opcode 快取器,您需要聯絡您的託管服務提供商並要求他們為您安裝它,或者詢問他們是否有幫助您在伺服器上安裝它的指南。

請注意,在大多數情況下,您將無法在共享主機上安裝操作碼快取器,因為執行它需要大量記憶體。

以下是眾所周知的 Opcode 快取器列表:

物件快取

物件快取是快取複雜的 SQL 查詢,因此它們不會在頁面載入中多次執行。使用物件快取器將使用 WordPress 快取 API 快取任何內容,這將阻止 WordPress 快取到預設選項表,而是使用您安裝的任何物件快取後端。

然後,您需要選擇要使用的持久快取型別。您還可以使用其中一些操作碼快取器來進行物件快取。

也可以在您站點上的記憶體物件快取器中使用這些。

要使物件快取與 WordPress 一起使用,您需要安裝一個外掛,該外掛會將物件快取插入檔案新增到您的 WordPress 站點。有多個物件快取後端外掛會新增這個物件快取插入檔案,例如這個用於 APC 或這個用於 Memcached  ,W3 Total Cache 也支援其中的大部分。

對於多伺服器設定,您可能需要考慮使用 Memcached 。

在共享伺服器上,您可以使用磁碟來儲存經常訪問的資料,但這可能會導致問題並實際上降低站點的速度。

頁面快取

頁面快取非常適合您的網站頁面、部落格文章和網站首頁,但由於論壇高度動態且使用者不斷更新,頁面快取實際上取決於您如何設定 bbPress 論壇。

如果您只允許使用者在登入時發帖,最好只為訪客使用者提供快取。如果您在外掛中找到設定快取重新整理的選項,請確保將其設定為較短的時間,例如大約一兩個小時。同樣在 bbPress 文章型別更新後,大多數 bbPress 相容快取外掛將重新整理快取,一切都應該再次新鮮。

如果您允許使用者在未註冊到您的站點的情況下發帖,頁面快取可能不是非常實用的解決方案。因此,建議從頁面快取中排除 bbPress 論壇頁面,以便您的論壇頁面不會向訪客使用者顯示過時的資訊。如果您的論壇非常活躍,您也可以考慮這樣做。

要禁止頁面快取中的論壇頁面,請進入您最喜歡的快取外掛並將這些字串新增到被拒絕的頁面/字串以快取設定。

如果您為您的論壇保留了論壇 root slug,您可以將此論壇字串用於大多數 bbPress 頁面,以及主題存檔的主題字串。

/forums/  /topics/

如果您在論壇設定中禁用了論壇 root slug,則可以使用這些字串集。

/forums/  /forum/  /topics/  /topic/  /reply/

如果您在論壇設定中設定了自定義 slug,您可以將我放置的字串替換為您的自定義字串。

為了獲得更好的頁面快取效能,可以允許使用操作碼快取器 Redis 。或 Memcached 將您的頁面儲存在記憶體中,但請記住,論壇往往有更多可快取的頁面,您可能需要密切關注網站上的 RAM 使用情況。

最佳化您的資料庫

這是可選的。

當刪除帖子、頻繁編輯帖子、將帖子標記為垃圾郵件時,您的資料庫將開始積累大量額外資料。即使每個部分單獨可能是幾個位元組的資料,一段時間後這些資料將開始累加並可能影響您的伺服器從資料庫表中檢索資訊的時間。透過清理和刪除您可能不需要的資料(例如佔用資料庫的垃圾郵件),最佳化資料庫會略微提高效能並減小資料庫大小。

雖然您可以使用 SQL 命令 OPTIMIZE TABLE 最佳化資料庫表,或者透過選擇每個表並從下拉選單中選擇最佳化表來執行最佳化 phpMyAdmin 中的資料庫表的功​​能,但您只需使用一個方便的 WordPress 外掛來最佳化您的資料庫。安裝 WP-DBManagerWP-Sweep 等外掛或任何其他替代品,將允許您最佳化大部分資料庫。

使用這些外掛之一最佳化資料庫時,您可能會看到刪除此類資料的選項。我只是要告訴您在我看來可能很重要的選項,為什麼您可能不執行它,以及為什麼執行一個選項可能有用。我還建議至少一兩個月最佳化一次資料庫。

在執行任何操作之前,建議您在執行任何選項之前執行資料庫備份,因為刪除資料是永久性的。

  • 刪除修訂——雖然這可能很有用,尤其是當您瘋狂地編輯您的帖子時,bbPress 使用 WordPress 中的帖子修訂系統來進行話題和回覆編輯日誌記錄。如果您想在您的帖子中保留編輯日誌,其他外掛可能是自定義 CSS 外掛的修訂系統。如果您覺得可能會丟失一些重要的東西,請不要執行它。
  • 刪除已刪除/已刪除的帖子- 如果您認為您刪除的任何型別的帖子(包括話題、回覆和部落格帖子)都應該被刪除而不會出現任何錯誤,您可以執行此程式。
  • 刪除垃圾郵件- 此選項通常包括垃圾郵件評論。垃圾評論可以很好地擴大您的資料庫,它們通常每月至少會被 WordPress 自動刪除一次,但使用這些外掛可以縮短時間。

由於您可能有大量垃圾郵件話題和回覆,因此請確保如果要執行此功能,您最好刪除所有回覆和話題垃圾郵件。

  1. 轉到 WordPress 後端中的回覆 > 所有回覆或話題 > 所有話題。
  2. 單擊垃圾郵件操作連結,您可以檢視所選文章型別的所有垃圾郵件。
  3. 現在點選清空垃圾郵件按鈕刪除所有文章型別的垃圾郵件。
  • 最佳化表- 在 WP-Sweep 和 WP-DBManger 中,這應該類似於 phpMyAdmin 最佳化資料庫表的方式。

核心程式碼改進

就像生活中的任何事情一樣,總是有更多的改進空間。 bbPress 2.6 版將啟動一些效能改進,任何能夠幫助測試並在 bbPress trac 中為現有 trac 票證建立補丁的人,或者只是為 bbPress 貢獻任何可能的程式碼改進建議的人都將不勝感激。

提高效能的其他方法

  • 刪除不必要的物件、功能和外掛——只使用您需要的。
  • 將資料解除安裝到外部源——使用 CDN 或附加伺服器來儲存靜態內容,可以大大減少頻寬、伺服器負載並加快您的網站速度。
  • 縮小或組合您的網站 CSS 和 JS – 縮小 JavaScript 和 CSS 可以減少檔案的大小,而組合將最大限度地減少對多個檔案的請求。
  • 啟用瀏覽器快取
  • 頭部的 CSS 和頁尾的 JS
  • 最佳化影象– 如果您的使用者使用 bbPress 外掛在您的論壇中上傳了大量 Gif 和 JPEG,您會注意到這些影象會減慢您的主題載入時間。啟用某種影象最佳化將減小這些影象的大小並使帶有影象的帖子載入速度更快。
  • 使用延遲載入– 使用延遲載入外掛(如 Lazy LoadRocket Lazy Load)將最小化請求並僅在使用者可見時顯示影象。
  • 使用 Gzip 壓縮

其他資源