BuddyPress(ワードプレス プラグイン)の子テーマは必須。作成方法
2019年2月8日
Categories | ブログ(WordPress) BuddyPress
BuddyPress(ワードプレス プラグイン)の子テーマは必須。
作成方法を紹介します。
プラグイン「BuddyPress」は、当サイト内(KAWASAKI Motorcycle Q & A)にて、
「DW Question Answer」のアイテムとして利用しています。
そして、独自にプラグインBuddyPressの「style.css」をいじり、
レイアウト等変更しています。
ところが、BuddyPressは不定期にバージョンアップされます。
その際、独自に変更した内容に上書きされ、
手を加えた全てのデータが消えてしまいます。
結構ショックなことです。私がそうだったように。
◆ プラグイン(テーマ)の子テーマを作る概要
独自にカスタマイズしたプラグインに、アップデート(上書き)されることを回避するための措置。
独自にカスタマイズしたテーマ(プラグイン)を「子テーマ」とし、
親テーマがバージョンアップされても、子テーマの情報を親テーマに継承する構築法。
BuddyPress管理サイドのコメント
bpデフォルトの子テーマを作成することは、BuddyPressテーマを作成するための最も簡単で将来に適した方法です。 bp-defaultテーマの機能を利用する以外に、自分のニーズに合わせて調整することができます。 bp-defaultテーマを拡張することで、コアbp-defaultテーマファイルを維持しながら、JS、AJAX、および必要に応じてCSSのすべてのテンプレートを継承します。 BuddyPressの新しいバージョンが更新されたデフォルトテーマでリリースされると、あなたのテーマはそれと一緒に自動的に更新されます! (1)子テーマにコピーして調整するか、(2)子テーマディレクトリに新しい「同名」のテンプレートファイルを作成するだけで、親テーマテンプレートを上書きできます。 独自のCSS、JS、AJAX機能を追加することもできます。
参考まで
それではBuddyPress子テーマ作成の説明に入ります。
1. デフォルトテーマ「bp-default」フォルダをまるごとコピー&ペースト
BuddyPressのテーマが置かれている階層は、
wp-content/plugins/buddypress/bp-themes/bp-default
この「bp-default」が BuddyPress のデフォルトテーマになります。
通常バージョンアップされると、ここが更新されます。
そしてここにペースト ↓
wp-content/themes/bp-default
※ 属性(パーミッション)は「755」。
ワードプレス本体で認識されているか、確認してみる。
ダッシュボード > 外観 > テーマ
↓
2. 子テーマフォルダ「BuddyPress-child」」を作成してアップロード
デスクトップに新しいフォルダを作り、フォルダ名を「BuddyPress-child」に変更。
↓ ここにアップロード
wp-content/themes/BuddyPress-child
※ 属性(パーミッション)は「755」。
3. style.cssファイルを作成し、BuddyPress-child にアップロード
style.cssに下記記述。
/* Theme Name: BuddyPress child Theme URI: http://example.org/themes/BuddyPress-child Description: プラグイン「BuddyPress」の子テーマ Version: 1.0 Author: xx Author URI: http://example.org/ Template: bp-default Tags: buddypress, two-column, grey, dark */
↓ style.cssはここにアップロード
wp-content/themes/BuddyPress-child/style.css
Theme URI/Author/Author URI: 任意のものに変更してください。
Template:bp-default
WordPressにBuddyPressのデフォルトテーマ(bp-default)を親テーマとして使い、そこからすべてのテンプレートを継承することを伝える。
Tags:buddypress, two-column, grey, dark
BuddyPressと互換性のあるテーマを使用していることをBuddyPressに伝えます。
4. functions.phpファイルを作成し、BuddyPress-child にアップロード
functions.phpに下記記述。
<?php if ( !function_exists( 'bp_dtheme_enqueue_styles' ) ) : function bp_dtheme_enqueue_styles() {} endif; ?>
デフォルトテーマ(親テーマ)と子テーマを紐付けします。
「functions.php」に下記記述。ファイルが置かれている階層は
wp-content/themes/BuddyPress-child/functions.php
(注意)文字コード(エンコーディング)を必ず「UTF-8」にして保存すること。
これを怠るとまともに動きません。
正直なところ、今回の構築が上手くなされているかの検証していません。
何故なら、バージョンアップはまだしていないし、カスタマイズもね。
当サイトにてBuddyPressのバージョンアップした時、問題があれば追記したいと思います。
しまい