質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

1回答

543閲覧

BuddyPressの子テーマ

hizirida

総合スコア36

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2019/02/04 10:38

BuddyPress(ワードプレス プラグイン)の子テーマを、

途中まで作ってみたのですが、行き詰まってしまいました。

子テーマの作成方法を教えてください。

行なった一連の流れはこうです。

BuddyPressのテーマ(bp-default)をコピー。
wp-content/plugins/buddypress/bp-themes/bp-default

wp-content/themes 内にbp-defaultをペースト。

ディレクトリ名変更 bp-default → BuddyPress-child

BuddyPress-child 内ファイル(style.css)に下記記述。

@charset "UTF-8"; /** * Theme Name: BuddyPress child * Theme URI: https://www.example.com/blog/wp-content/themes/BuddyPress-child * Description: 子テーマ * Template: bp-default * Version: 0.0.0 * Author URI: https://www.example.com/ */

すると、
親テーマが見つかりません。
「bp-default」の親テーマをインストールしてください。
と、エラー表示されます。

Template の記述をどう明記して良いものか?

次に、
こちらのサイトには@import方法が書かれてるので、
https://www.tecking.org/archives/2318

参考にして、こう記述してみした。

@charset "UTF-8"; /** * Theme Name: BuddyPress child * Theme URI: https://www.example.com/blog/wp-content/themes/BuddyPress-child * Description: 子テーマ * Template: bp-default * Version: 0.0.0 * Author URI: https://www.example.com/ */ @import url( ../../plugins/buddypress/bp-themes/bp-default/_inc/css/default.css ); @import url( ../../plugins/buddypress/bp-themes/bp-default/_inc/css/adminbar.css );

しかし、「親テーマが見つかりません。」とエラーします。

ここで行き詰ってしまいました。
アドバイスよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

1. BuddyPressのテーマ(wp-content/plugins/buddypress/bp-themes/bp-default)を wp-content/themes 内にコピーして、 bp-default を作成する。

2. wp-content/themes/BuddyPress-child ディレクトリを作成

3. wp-content/themes/BuddyPress-child/style.css を下記の内容で作成

/** * Theme Name: BuddyPress child * Theme URI: https://www.example.com/blog/wp-content/themes/BuddyPress-child * Description: 子テーマ * Template: bp-default * Version: 0.0.0 * Author URI: https://www.example.com/ */

4. wp-content/themes/BuddyPress-child/functions.php を下記の内容で作成

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); function theme_enqueue_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); }

で、子テーマが作成できると思います。

投稿2019/02/04 14:11

編集2019/02/04 14:12
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hizirida

2019/02/04 22:35 編集

ご回答ありがとうございます。 何となく理解し、子テーマを作成できましたが、 いくつか疑問があるので教えてください。 プラグイン(BuddyPress)をバージョンアップした際、 BuddyPressのテーマ(wp-content/plugins/buddypress/bp-themes/bp-default)はバージョンアップされるのでしょうか?それとも、wp-content/themes/bp-default がバージョンアップされるのでしょうか? 現在、自作テーマで稼働していますが、 wp-content/themes/bp-default は有効化しなくてもよいのでしょうか? 有効化すると自作テーマが休止してしまうので。 style.css以外にも手を加えたファイルがありますが、 「functions.php」にどう追記するのでしょうか? そして、 wp-content/themes/BuddyPress-child ディレクトリ にも手を加えてファイルを作ったほうがよいでしょうか。 今後カスタマイズする際、例えばstyle.css は、 * Description: 子テーマ * Template: bp-default * Version: 0.0.0 * Author URI: https://www.example.com/ */ ↑ この後に追記していくのでしょうか? アドバイスお願いします。
CHERRY

2019/02/04 22:59

> プラグイン(BuddyPress)をバージョンアップした際、 BuddyPressのテーマ(wp-content/plugins/buddypress/bp-themes/bp-default)はバージョンアップされるのでしょうか?それとも、wp-content/themes/bp-default がバージョンアップされるのでしょうか? プラグインのアップデートで更新されるのは、 ` wp-content/plugins/buddypress/bp-themes/bp-default ` の方ですね。 親テーマのコピーではなくて、 ``` cd wp-content/themes/ ln -s ../plugins/buddypress/bp-themes/bp-default ./ ``` のように、プラグインの中の親テーマからテーマディレクトリにシンボリックリンクを作成すれば、親テーマが更新された場合に反映されます。 なお、子テーマは、親テーマの一部を変更する場合に用いることが多いですので、すでに独自にテーマを使っている場合は、自作テーマをカスタマイズする方がようでしょう。 > 現在、自作テーマで稼働していますが、wp-content/themes/bp-default は有効化しなくてもよいのでしょうか? > 有効化すると自作テーマが休止してしまうので。 WordPress で選択できるテーマは1つだけです。 自作テーマをつかわれているのであれば、 bp-default は、選択する必要がありません。 > style.css以外にも手を加えたファイルがありますが、「functions.php」にどう追記するのでしょうか? > そして、wp-content/themes/BuddyPress-child ディレクトリにも手を加えてファイルを作ったほうがよいでしょうか。 style.css や functions.php 以外のファイルは、テーマファイル内に作成します。 > 今後カスタマイズする際、例えばstyle.css は、 > * Description: 子テーマ > * Template: bp-default > * Version: 0.0.0 > * Author URI: https://www.example.com/ > */ > > ↑ > この後に追記していくのでしょうか? 子テーマを使って、カスタマイズしていくのであれば、子テーマの style.css に追記していく形になります。 独自テーマの場合は不要です。 子テーマについての情報は、 https://wpdocs.osdn.jp/%E5%AD%90%E3%83%86%E3%83%BC%E3%83%9E 等を参照してください。
hizirida

2019/02/06 06:43 編集

この手はそう熟知している訳ではないので、 理解したことを整理しおきます。 誤りがあればご指摘して下さい。 プラグインの子テーマ作成は、 wp-content/themes/ ここに2ディレクトリ作成。 1.BuddyPress-child (子テーマ) 2.bp-default (ショートカットみたいなもの?) 1内には、style.css と functions.php 2は BuddyPressのテーマ(wp-content/plugins/buddypress/bp-themes/bp-default)の複製。 プラグインがバージョンアップされると、2もバージョンアップされる。 bp-default内の「style.css」は、BuddyPress-child(子テーマ)内の「style.css」に紐付けされているので、 編集(カスタマイズ)する場合、 BuddyPress-child(子テーマ)内の「style.css」に手を加えるとで、 それがbp-defaultを辿り、プラグイン内の親テーマに継承される。 ところで、 親テーマ「bp-default」(wp-content/plugins/buddypress/bp-themes/bp-default)と、 この複製(wp-content/themes/bp-default)の紐付けは、自動的に認識されるのですか? レイアウト変更等のカスタマイズは、 親テーマ(plugins/buddypress/bp-themes/bp-default/_inc/css/default.css)だと思うのですが、 子テーマの(wp-content/themes/bp-default/style.css)に手を加えても、 /bp-default/_inc/css/default.css には継承されるのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問