Twenty SixteenテーマからStinger8に変更
どうしてもTwenty Sixteenテーマが表示されて、一つのテーマだけを子サイト全てに使用するという方法ができません。
とりあえず調べてみるとWordPress Codex 日本語版に説明があるのを見つけました。
マルチサイトのネットワーク管理
テーマ
テーマは全サイト共通にインストールされます。テーマのコードを編集すると、そのテーマを利用しているすべてのサイトに影響します。WordPress.com Custom CSSプラグインをインストールすることで、他のサイトに影響を及ぼすことなく各サイトでCSSを変更可能です。テーマはネットワーク全体や各サイトごとに有効化することができます。 デフォルトでは、一番新しい「Twenty …」シリーズをすべての新しいサイトのデフォルトのテーマとして利用します。この動作はwp-config.phpにdefine('WP_DEFAULT_THEME', 'classic');のようなコードを記述することにより変更可能です。「classic」はあなたのテーマのフォルダ名に差し替えてください。
wp-config.phpをffftpでダウンロードしてみます。
TeraPadでwp-config.phpを開いてみても記述はありませんから足せば良いのか?
wp-config.phpにdefine('WP_DEFAULT_THEME', 'classic');のようなコード加えてみてどうなるか試していました。
エディタの文字コードを確認します。「TeraPad」を使いますが使う前に修正したときに文字コード設定をする必要があります。
「TeraPad」のファイルメニューから「文字/改行コード指定保存」をクリックします。
文字コードを「UTF-8N」、改行コードを「CR+LF」を選択して「OK」ボタンをクリックします。
これでffftpでwp-config.phpをダウンロードして
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください
の直上に
define('WP_DEFAULT_THEME', 'stinger8-child');
と記入し上書き保存して上書きアップロードしてみました。
テーマはTwenty Sixteenのままです。Stinger8に変更されません。ただし、この設定をしてから子サイトを作るとStinger8テーマと変わりました。既存の子サイトと親サイトはtwentysixteenのままです。各ダッシュボードでテーマをStinger8に帰れば良いのですけどもう少し調べてみました。
さらに調べるとwp-includes/default-constants.phpにテーマ設定が記載されていて、
define( 'WP_DEFAULT_THEME', 'twentysixteen' );
とテーマの初期設定がtwentysixteenとなっている。
(インストールするWordPressのヴァージョンによって変わります)
この設定がマルチサイトでの子サイトでの初期テーマを決定するのでこれも変更してみます。wp-includesフォルダ内のdefault-constants.phpをダウンロードします。
WordPressをドメイン直下にインストールした場合
ドメイン/Public_html/wp-includesフォルダとなっています。
「wp-includesフォルダ」をクリックします。
「default-constants.php」ファイルがあるのでダウンロードします。それを。wp-config.phpファイルを編集した時と同じ文字コード設定済みの「TeraPad」で開きます。
WordPress4.7に先日更新したので360行目に
define( 'WP_DEFAULT_THEME', 'twentyseventeen' );
となっています。
WordPress4.7に更新しましたがテーマにtwentyseventeenは更新しただけではありませんでした。
define( 'WP_DEFAULT_THEME', 'stinger8-child' );
初期設定を'twentysixteen' 'twentyseventeen'から'stinger8-child' に変えました。ただこの設定は親テーマの'stinger8' の方がいいのかもしれません。あとで見直します。あるいは両方とも初期設定に加える記述があるのか今の所不明です。
テーマ'twentysixteen' 'twentyseventeen'をWordPressから削除してみます。有効化されたテーマがStinger8だけですからこれからはStinger8が全ての子サイトに表示されるのではないかと思うので。設定も調べて分かったところは変更しましたし。すでに子サイトを設定してあるものについてはテーマ 'twentysixteen' 'twentyseventeen'が設定されています。そのまま'twentysixteen' 'twentyseventeen'を削除しようとすると、使用中との表示が出るのでStinger8子テーマに変更しておきます。
事前に子サイト専用のダッシュボードから左側のメニュー「外観」をクリックします。
ただし、これはあくまでもWordPressマルチサイトの下でテーマTwenty Sixteenを私の環境でStinger8に変更する場合であって、ホスティング会社も契約も設定も違う場合有効かどうかは分からないので、WordPress再インストール覚悟で、データなどバックアップ済みで行ってください。
「参加サイト」メニューから「サイトネットワーク管理」をクリックします。
Stinger8とstinger8-child以外全てを除くテーマtwenty Sixteenなどを選択して、一括操作「削除」にして「適用」をクリックします。もちろん削除するテーマ一つ一つ、例えば「twenty Sixteen」の下にある「削除」をクリックしても削除できます。