Simplicity2のheader-insert.phpが機能しないのでheader.phpを編集

北アルプス剣岳頂上
北アルプス剣岳頂上

Google AdSenseの自動広告は、 <head>タグの間に自動広告のコードを貼り付けます。

WordPressのテーマ「Simplicity2」では、header-insert.phpに貼り付けるだけでコードを挿入することができます。

このheader-insert.phpが機能しなくなりました。

サイト情報 2018年12月
エックスサーバー
PHP7.0.30
WordPress 4.9.8
Simplicity2 バージョン: 2.7.2
Simplicity2 childバージョン: 20161002
スポンサーリンク

Google AdSenseの自動広告

自動広告の設定画面でこれらの広告のON・OFFを設定します。

ページ内広告

  • テキスト広告とディスプレイ広告
  • インフィード広告
  • 記事内広告
  • 関連コンテンツ

オーバーレイ広告

  • アンカー広告
  • モバイル全面広告

自動広告のコードを取得します。
GoogleAdSense自動広告

Simplicity2子テーマのheader-insert.phpにコードを貼り付けます

ダッシュボード→外観→テーマの編集画面で、header-insert.phpを選択し自動広告のコードを貼り付け、「ファイルを更新」をクリックします。

すると、しばらくして「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。」との表示。何度か繰り返しても更新できません。

header-insert

FTPソフトでheader-insert.phpをダウンロード、直接編集してみた

Simplicity2子テーマのheader-insert.phpをFTPソフト(FilleZilla)でダウンロードしてコードを貼り付け、それをアップロードしました。

ブラウザでページを表示して、ページのソースを確認しました。
GoogleChromeの場合
ページ本文を右クリック→「ページのソースを表示」を選択

<head>のタグ間にコードが見当たりません。

header-insert.phpが機能していないようです。

Simplicityの本テーマでも機能しませんでした

Simplicityの本テーマで同じことを試してみました。

本テーマを有効にしてテーマの編集でheader-insert.phpにコードを貼り付けましたがやはり「致命的なエラーをチェックするために…」の表示が出ました。

FTPソフトを使って本テーマのheader-insert.phpを直接編集しましたが、コードの挿入はできませんでした。

header.phpを直接編集しました

header-insert.phpの利用をあきらめ、header.phpを直接編集することにしました。

本テーマのheader.phpをダウンロードして編集して、子テーマにアップロードしました。

  • FTPソフトで本テーマフォルダにアプローチ
  • wp-content→themes→simplicity2
  • 本テーマsimplicity2のheader.phpをダウンロード
  • エディタ(TeraPad)でheader.phpを編集
  • <head>タグ真下にコードを貼り付け
  • FTPソフトで子テーマフォルダにアプローチ
  • wp-content→themes→simplicity2-child
  • 編集したheader.phpをアップロード

ブラウザでページを表示して、ページのソースを確認しました。
自動広告のコードが確認できました。

無事、Google AdSenseの自動広告の設定ができました。

新たにこの方法で『テーマの編集』が機能するようになりました

WordPress4.9になってから、『テーマの編集』からファイルを変更できない仕様になったようです。

FTPソフトでwordpress本体のwp-admin/includes/file.phpというファイルをダウンロードして、該当部分をコメントアウトするという離れ業です。

http://nabesys.com/article/2018/09/06603/

この変更を加えると、『テーマの編集』が機能するようになりました。「致命的なエラーをチェックするためにサイトと通信できない…」の表示も出なくなりました。

しかしながら、header-insert.phpの編集はできましたが、結果的にheader部分に肝心のコードは挿入されていませんでした。header-insert.phpそのものが機能していないのかと思われます。

ただし、『テーマの編集』からheader.phpを直接編集すればコード挿入は可能です。