2017年12月18日

WordPressのTwenty seventeenで、テーマオプションが表示されないことがあります。なぜか、少し遅れて表示されるメニューですが、2~3秒以上経っても表示されない場合は、以下の対応が必要と言えます。度々発生するので、対応方法をまとめました。以下は、Twenty seventeenに「子テーマ(Twenty seventeenchild)」を作成した操作になります。(ローカル環境)


動作環境
・WordPressの環境は、正常(と思われる。)
・WordPressのTwenty seventeenをカスタマイズして、子テーマを作成

対応方法
2017.12.23追記
この方法は、カラム数の変更(初期値2→1)にするには有効です。画面構成を変更する場合は、下記になります。

1.WordPressで固定ページがあり、フロントページの表示設定があるか確認します。(ネットでよく見る事例)

2.子テーマを一瞬やめて、親テーマ(Twenty seventeen)を「有効化」して動作確認します。このとき、「テーマオプション」は表示されることを確認します。

3.子テーマを「有効化」して、「テーマオプション」が表示されないことを再度確認します。

4.ローカル環境(もしくはFTP環境)で、動作環境の「子テーマのディレクトリ」に移り「function.php」を探します。

5.「function.php」を、異なる名前に変名します。
以下の画面は、ローカル環境で「function.php」を「xxfunction.php」に変更しています。変更中は、「function.php」に関する処理が使えないため、サーバ操作の際はタイミングに注意が必要です。

6.ブラウザツールの更新ボタン(上記3の画面)を押して最新情報を反映させます。

7.しばらくすると「テーマオプション」が表示されます。これで表示されない場合、根本原因が異なるため、当対応では無理です。

8.「テーマオプション」メニューが表示されるので設定変更・確認を行います。変更後は、「保存」ボタンを押します。

9.8が終了したらローカル環境(もしくはFTP環境)で、変名した「xxfunction.php」をもとの名前に戻します。「テーマオプション」は表示されませんが、設定値は有効になっています。


調査
子テーマのディレクトリに「function.php、style.css」以外のphpファイルが存在するとこの現象になることは追及できましたが、根本原因までは調査していません。


2017.12.23 追記
画面構成を変更する場合

1.テーマオプションが表示されないことを確認します。上記3の操作まで同様です。

2.子テーマフォルダ(functions.phpがあるフォルダ)で、functions.php以外を別フォルダに移動します。上記カラム数の変更操作と矛盾します。

 ・移動が難しい場合、すべて変名します。
   機能上使用されることがないIDなら何でもOKです。
  例 header.php → xheader.php

3.子テーマフォルダは、functions.phpstyle.cssの2ファイルだけにします。

4.ブラウザの更新ボタンで反映させます。

5.「テーマオプション」が表示されたら選択して、編集画面を確認します。
  画面右部が表示されないケースもありました。画面左部の設定だけではうまく反映されません。☆

6.設定後は「公開」ボタンを押します。

7.2で移動したファイルをもとに戻します。

☆画面右部が表示されないケースでいろいろ試しました。この場合、以下のいずれかの操作が有効だったようです。
 ・メニュー削除  ・・・意味なし
 ・トップ画面削除 ・・・意味なし
 ・初期表示画面の設定を一旦外す。同期がとられている感もありますが…。・・・これが怪しい!
  「設定」ー「表示設定」ー「ホームページの設定」を一旦「選択」状態にする。
  「外観」ー「カスタマイズ」ー「ホームページ設定」を一旦「選択」状態にする。

 ・Twenty Seventeenのテーマを1.4にバージョンアップ・・・これが一番怪しい!

 この操作を行うに当たり「テーマオプション」が表示されました。
根本原因となることは、解明できていません。これらの操作周りを中心にチェックが必要です。