kleoとは、themeforest内にて、buddypress用として一番売れている有料テーマです。2019年1月17日の時点で、評価数は1,225、平均評価点は5点満点中4.71、販売数は18,000以上にもなります。

ThemeforestにあるKLEO

kleo、bbpress、buddypressを組み合わせたSNSを作っています。kleo専用のコミュニティです。
https://kleo.burstblue.net/

kleoは、1つ買えば使い回すことができますが、購入キーを登録しないとアップデートをすることができません。購入すれば、アップデートをすることができます。

kleoが公式で用意している、チュートリアル動画はこちら。
https://www.youtube.com/watch?v=wa6Rn5GSGXI

この記事におけるKLEO設定のキャプチャ画像には、英文に対して日本語訳が書かれていることがあります。日本語訳は僕が適用している最中のものであり、標準で日本語訳は書かれていません。ご注意ください。

KLEOを使うには、max_execution_timeを180に設定する

kleoを有効化すると、Increasing max execution to PHPと黄色い文字で警告が出ます。出ない環境の人もいます。この警告はサーバーにおいてPHPの設定が、kleoを動かすのに十分でない、ということを表しています。具体的には、php.iniのmax_execution_timeを最低180にしなさい、です。

エックスサーバーで設定する例を載せます。max_execution_timeを180に設定すれば、黄色い警告は消えます。

kleoの有効化が完了したあとのトップページです。なにもありません。ここから、デモデータをインストールするか、自分で構築していくか、になります。

KLEOを使うためのプラグインをインストールする

有効化が完了したあとの管理画面の上部に、Begin installing pluginsが表示されます。ここをクリックすると、kleoで使うためのプラグインが一覧で表示されます。

隣に表示されているDismiss this noticeは、このお知らせを今後は表示しない、という意味に当たります。クリックすると、お知らせが表示されなくなります。

Kleoで使うためのプラグインと言っても、全てのプラグインが必要なわけではありません。kleoで用意されている機能をフルで使うためには、という言い方が良いでしょう。会員システムと掲示板だけを用意したいのであれば、全てのプラグインをインストールする必要はありません。

では、最低限に必要なプラグインはなんなのか。僕も判らないので、冒頭に載せたkleo公式のビデオから、必要なプラグインを書いておきます。
K Elements
Revolution Slider
Visual Composer
BP Profile Search
Buddypress
Contact Form 7
KLEO Monetizer
bbPress
rtMedia

プラグインの左側にチェックを入れて、Installを選択後、適用させます。プラグインのインストールが始まります。

インストールが始まりますが、たぶん、時間が掛かった上で504 Gateway Timeoutが表示されるでしょう。Slider Revolutionが原因だと思われますが、気にしなくて大丈夫です。もう一度、同じ工程でプラグインのインストールを実行すると、完了します。

必要なプラグインがインストールされると、管理ページの上部にいくつかお知らせが出てきます。とりあえず、全部を×で消しておいて構いません。

サイト全体に関わる設定

feel free to call usとかの設定

ページタイトルやパンくずリストと一緒に表示される、feel free to call us部分の設定です。

左メニューのTheme options
→Title/Breadcrumb
→Main menu infoの内容を書き換える。

トップページを作る

左メニューの固定ページ→新規追加→トップページ用のタイトルとスラッグを設定

左メニューの設定→表示設定→フロントページの表示の固定ページを選択して、上で作成した固定ページを選択

トップページの設定完了。何もないトップページが表示されます。今後、トップページを変えたい場合は、新しく作ったこのページを編集していきます。

メインビジュアルとなる画像とテキストを設定する

トップページを表示→編集→Backend Editorをクリック→WPBakery Page Builderになる。
要素を追加→行を追加→さらに行を追加→テキストブロックを追加→画像を追加

完了すると、下記のようになる。

bbpressに関するお知らせを表示する

SNSのトップページって、どんなのが良いのでしょうかね。有名SNSを見てみました。

フェイスブックは、ログインしていない状態だと、左にフェイスブックの大まかな使い方、右に会員登録フォームです。大きな画像などは無しです。

ミクシーは、上部に広告、左にニュース、右に会員登録です。

試作している僕のクレオSNSは、クレオに関する悩みを解決出来たら良いな、と思って開設しました。用途は、悩み解決です。なので、よくあるトップページに画像がバーンと出て、サービスを説明する、とはちょっと違います。一番必要なことは、どれくらい盛り上がっているか、どれくらい質問と回答があるか、です。

ということで、トップページの画像はほどほどにして、質問掲示板であるbbpressに関するお知らせを表示させます。ページを編集するWP bakery にはbbpressに関する設定は、検索フォームを設置する、という項目の1つしかありません。検索フォームだけでは物足りません。

bbpress用のWP bakery を探してみると、有料ではありますが、bbPress shortcodes for Visual Composerというものが存在しました。WP bakeryのウェブサイトに載っていたので、公式っぽいです。

ただし、2019年1月19日の時点で、最終アップデートが2017年7月7日と古いです。Wordpressの対応バージョンも4.8までです。極端に古い場合は、バグが潜んでいるかもしれないし、今後のWordpressでは使えないかもしれないので、止めておきます。

とりあえず今のところは、検索フォーム、最近のトピック、フォーラム一覧など、bbpressのウィジェットをトップページに表示させるようにしました。

ウィジェットをトップページに表示させるんは、サイドバーに表示させたいものを設定し、WP bakery でウィジェット化サイドバーを設置します。

サイドバーにbbpress関連のものを設定する。
左メニュー外観→ウィジェット→Main sidebarあたりに表示させたいウィジェットを設定する。
トップページの編集→ウィジェット化サイドバーを設置。

ページタイトルやパンくずリストを消す

トップページに限り、ページタイトルやパンくずリストを表示させたくありません。

設定は、トップページ編集→WP bakery の下にあるTheme General settings→Title section
Hide the titleにチェックを入れ、BreadcrumbはHiddenを選択する。

buddypressで会員システムを作る

会員の登録と有効化を設定する。

左メニューの設定→BuddyPress→固定ページタブを選択→登録部分にあるリンクをクリック→だれでもユーザー登録ができるようにするを選択

BuddyPressの設定値に登録と有効化が追加されます。設定用の固定ページも追加されます。固定ページのリンクを使うことにより、会員登録や会員有効化を出来るようにするわけです。

固定ページの登録とは、会員登録をしていない方が会員登録をするためのページです。固定ページの有効化とは、会員登録手続きのあと、認証させるためのページです。

WP4.8系とBuddyPress4.1でget_privacy_policy_url()のエラーが出る

下記がエラーメッセージ。原因は、Wordpress4.8系にget_privacy_policy_url()が無いからです。
Fatal error: Call to undefined function get_privacy_policy_url() in /xxxxxxxx/wp-content/plugins/buddypress/bp-members/bp-members-template.php on line 2421

4.9以降はテーマの更新が手軽にできないから4.8にしておいたのですが、4.9にしないとダメなようです。Wordpressのバージョンをアップしましょう。
4.9系で管理画面からテーマを更新させるには、以下のブログを参考にしてみてください。
WordPress4.9でテーマやプラグインが管理画面から更新できない場合の対処法

会員登録できる場所を作る

会員登録のURLを確認する。
トップページに会員登録ボタンを設置する。

bbpressで質問などが投稿できる掲示板を作る

基本的な使い方は、以下のブログを参考に。
WordPressに掲示板!「bbPress」プラグインの設定と使い方

フォーラムを作って、フォーラムのリンクを設定する。