Simplicityで広告をTOCプラグインの目次の後に表示するカスタマイズ方法

Simplicity2.4.5と目次プラグインのTable of Contents Plusを合わせて使用すると、「本文中広告」や「本文中ウィジェット」などが目次の上に表示されるようになっています。

TOCの前に広告を表示した状態_thumb

以前、目次の下に表示させていた時もあるのですが、広告パフォーマンスの観点から目次の上に表示するのをデフォルトとしたいと思います。

ただ、中には、目次の下に広告等を表示させたい方もおられるかと思います。

そんな方向けのカスタマイズ方法を以下で紹介したいと思います。

スポンサーリンク

子テーマのfunctions.phpの編集

広告を、TOCプラグインの目次の下に表示させるには、子テーマのfunctions.phpに以下を追記する形でコピペしてください。

// 子テーマで上書きしたい設定を書く
function child_theme_setup() {
  //H2手前に挿入する広告の優先度を変更する
  remove_filter('the_content', 'add_ads_before_1st_h2');
  add_filter('the_content', 'add_ads_before_1st_h2', 999999);   
  
  //H2手前に挿入するウィジェットエリアの優先度を変更する 
  remove_filter('the_content','add_widget_before_1st_h2');
  add_filter('the_content','add_widget_before_1st_h2', 999999);
}
// 上記の関数を、親テーマの読み込みより後に読み込んでもらう
add_action( 'after_setup_theme', 'child_theme_setup' );

functions.phpの編集を誤るとエラーが出て画面が真っ白になる可能性がありますので、必ず編集前はバックアップを取ることをおすすめします。

動作確認

上記のようにカスタマイズを行うことで、以下のようにTOCプラグインの目次の下に広告もしくは、本文中ウィジェットを表示できるようになります。

TOCのあとに広告が表示されていた_thumb

まとめ

こんな感じで、比較的簡単に順番を入れ替えることができます。

ただ、基本的にSimplicityは、サポート対象外のものにもあるように、プラグインとの相性問題まではサポートしていません。

ですので、今回のカスタマイズにより、もし不具合が起こったとしても、サポートできませんのでご了承ください。

GitHubリポジトリ

不具合等ありましたらGitHubに、ご連絡いただけると幸いです。

yhira/simplicity2

スポンサーリンク
アドセンス(大)
アドセンス(大)

フォローする

スポンサーリンク
アドセンス(大)

コメント

  1. パソ活 より:

    わいひらさんこんばんは。

    以前にフォーラムで質問した以下のページの最後のほうで、

    スマホアドセンスについて。「アドセンス→TOC→アドセンス→h2見出し」と配置してみたい

    投稿本文中ウィジェットの中に、

    モバイル用広告ウィジェットでアドセンスレクタングル、
    モバイル用テキストウィジェットにてtocのショートコード([toc])、
    更にモバイル用広告ウィジェットでアドセンスレクタングル、

    として入れておけばどうでしょうか?

    というので自分は解決しましたが、Table of Contents Plusを利用しているならこちらのほうが簡単で安全性も高くないですか?

  2. パソ活 より:

    あ、よく見たらモバイルについて書かれた部分を引用していてわかりにくかったかもしれないので補足すると、

    Simplicityのウィジェット編集画面で、「投稿本文上」に

    ・テキストウィジェットの中にTOCショートコード
    ・広告ウィジェット

    という順番で並べるだけで

    ・もくじ
    ・広告
    ・h2見出し

    という順番で並んでくれるんじゃないでしょうか。自分は以前にそれでもくじの上下にアドセンスを設置してみたりしましたが、付け外しも簡単で使い勝手が良かったです。

    • アバター画像 わいひら より:

      この設定は、以下の記事に書かれているウィジェットで広告を設定をしているからこそ出来ることではないでしょうか?
      Simplicity広告用ウィジェットの設定方法

      Simplicityデフォルトの広告エリアでアドセンスなどを入れている場合は、うまくいかないんではないかと思います。
      Simplicityテーマ内にGoogle AdSense広告を貼り付ける方法
      Simplicityを利用している方の多くが、デフォルトの広告ウィジェットエリアを利用していると思うので、その方法ではうまくいかないような気がします。
      双方の機能を組み合わせでできたとしても、コードをただコピペするより、よっぽどトリッキーな方法になりそうな気がします。

  3. パソ活 より:

    あぁー・・・そうですね。自分のやり方(広告ウィジェット)のほうがデフォルトではありませんでした。

    あと先ほどのコメントで自分の設定を書きましたがいろいろ間違えていたので修正しておきます。何度もすいません。

    「投稿本文中」に

    ・[S]パソコン用広告ウィジェット
    ・[S]モバイル用広告ウィジェット
    ・テキスト(中にTOCショートコード)

    のように並べていて、場所を変更したい時にドラッグで移動していました。