・・・などなどワードプレスを使ったサイト制作やコーディングのみも承ります。お気軽にお問い合わせください。itLinkedInPocketCopyLuxeritasで記事内に自動挿入した目次の前にウィジェットを配置できるようにします。することで、記事の導入文と目次の間に広告を配置できるようになります。方法1:目次をウィジェットで配置する方法2:子テーマのfunctions.phpによるカスタマイズをするそれぞれ長所・短所も含めて解説します。方法2はコードのコピペだけでできますが、最後にコードの解説もしています。まとめ目次前にウィジェットを配置するメリットLuxeritasでは目次の自動挿入ができますが目次の直前にウィジェット配置ができません。代わりに記事内の最初の見出し<h2>タグの前にウィジェット配置ができるので、記事本文内の最初のアドセンス広告を配置するのに使ったりします。次のメリットにより、目次前のほうが広告のクリック率が向上する可能性があります。記事の導入文だけを見て離脱するユーザーに対しても広告が目に入る目次が長い場合、広告を目にすることなくユーザーが離脱する可能性がある導入文の書き方によっては、導入文直後の広告クリック率を高めることができるなので目次前にウェジェットを配置できる記事構成を目指します。『記事導入文を書いた後に広告を直接手動で挿入する』という方法でも可能ですが、『記事毎に作業が必要』『あとで広告内容の変更するとき大変』なので採用却下です。方法1:目次をウィジェットで挿入する目次の自動挿入はせずにウィジェットエリア”投稿内で最初に見つかったH2タグの上”に広告ウィジェットと目次ウィジェットを配置する方法です。画面で簡単に操作可能です。上図のように、広告ウィジェット→目次ウィジェットの順に配置しておけば、最初の見出し<h2>の前にこの順で表示されるので結果的に目次前に広告を表示できるというわけです。外観>カスタマイズ>目次にて目次の自動挿入は外しておきます。この方法は非常に簡単にできるので過去に私もこの方法を使っていましたが、次のデメリットによりやめました。目次ウィジェットのスタイルはカスタムCSSで整える必要がある目次ウィジェットでは自動挿入した目次で使える開閉表示設定が適用されない目次ウィジェットでは自動挿入した目次で使えるモバイルナビボタンが使えない目次ウィジェットでは記事毎の目次非表示設定が使えないカスタムCSSでスタイルを整えるのは当たり前なのでたいしたデメリットではありませんが、あとの3つはせっかくLuxeritasで使える機能を活かせずサイトの利便性を損なってしまいます。これらのLuxeritasの機能を生かしたままで目次前に広告ウィジェットを表示するためには、次の方法2:functions.phpによるカスタイマイズを使うとよいでしょう。方法2:functions.phpによるカスタマイズをする子テーマのfunctions.phpを編集して次の作業を行います。2021年9月現在のウェブチルサイトでも使っている手法です。検証は、Luxeritasバージョン3.20.3で実施しています。別バージョンでは正しく動作しない可能性があります。したがって事故防止として事前にバックアップを取ってから実施する、または、ローカル環境で試してから本サイトに反映させるなど、自己責任で実施ください。私もローカル環境で動作テストをしたうえで、本サイトに適用する前にはバックアップを取ってから実行しています。メリットとしては、Luxeritasの自動挿入目次に適用できる次の機能を使えることです。目次の自動挿入をしておきます。次のコードを子テーマのfunctions.phpにコピペします。進めた後、次の手順で開けることができます。Themeであることを確認(通常は自動的に選択されているので念のため)2画面右メニューでfunctions.phpをクリック3画面上部で子テーマのfunctions.phpが開いたことを確認コピペ場所は、冒頭のコメント終了を表す*/より下の行(上の画像で15行目以降)であれば、どこでもOKです。以上の作業が終了後、ダッシュボードの外観>ウィジェットを開けて確認しましょう。Widget"が追加表示されていればOKです。Widgetエリアに広告用ウィジェットを配置して設定しておきます。テキストウィジェットなどをテスト的に配置してもOKです。Widgetが自動挿入した目次前に表示されるようになります。1073741825);実際に目次前に広告表示した事例です。目次前の広告表示例もちろん、目次が自動挿入されていないページでは広告ウィジェットも表示されません。ウィジェットの表示ページ制限をするLuxeritasでは、ダッシュボードのLuxeirtas>管理機能>”ウィジェット管理”タブにてページ種毎にウィジェット領域の非表示設定ができるようになっています。Widgetも、非表示設定できる一覧に加わっていますので、もし自分の用途に合わせて非表示に制限したい場合は利用するとよいでしょう。方法2のコードの解説あらたなウィジェットエリアを追加したコードウィジェットに関する情報は、親テーマLuxeritasフォルダーのincフォルダ内widget.phpに記述されています。)がウィジェットエリアを定義している関数です。Widgetを配置するコードを追記したものが今回使用したコードです。Widgetを再度追記すればよいでしょう。Widgetが追加できましたが、どこに配置するウィジェットなのかをテンプレートファイルに記述する必要があります。今回は直接テンプレートファイルに書き込まずに、Luxeritasが準備してくれているフィルターフックのthk_contentを利用してfunctions.phpに記述する方法を取りました。そのほうが、テーマのアップデートの影響を受けにくいからです。そもそも目次の自動挿入をするコードは、親テーマのincフォルダ内にあるwpfunc.php内に記述されています。このwpfunc.phpは、目次の自動挿入だけでなく、ファイルシステムやテーマの初期設定値などLuxeritasのさまざまな重要機能を司るPHPが記述されているので、wpfunc.phpを子テーマに置いて書き換えるのはテーマのアップデートの影響を受けやすくなってしまいます。)が目次の自動挿入や<h2>前のウィジェット配置など記事内の様々な調整をする関数であり、最後にフィルターフックthk_contentにフックされていることに着目しました。)がフックされた後にフックされるようにpriorityを1073741825としました。id="toc_container">の前としています。)内で次のように目次本体を定義しているからです。なくなった場合は、今回の目次前ウィジェット挿入はできなくなるので注意してください。まとめ目次前に広告を表示する2つの方法を紹介しました。1つ目の目次ウィジェットを利用する方法は、非常に簡単なのでfunctions.phpを編集したくないという場合は利用するとよいでしょう。2つ目のfunctions.phpの編集ですが、基本的には次のステップとなっています。あらたなウィジェットエリアを追加する追加したウィジェットエリアを自動挿入した目次前に表示させる1番目のステップは、目次前でなくてもあらたなウィジェットエリアを追加したい場合に使えます。この方法だとLuxeitasのウィジェット管理に反映されます。)をfunctions.phpにコピペして編集する方法もありますが、今回のように変更箇所のみthk_contentにフックする方が今後のLuxeritasのアップデートの影響を受けにくいと考えます。Prev関連記事ワードプレスでメニュー(ナビゲーション)を設定する方法webサイトにはナビゲーションメニューが欠かせませんよね。ディスカッション設定を理解してコメント欄を活用しようワードプレスでは、投稿で作成した記事ページにコメント欄が標準でついています。管理者のプロフィールウェブチルこと内田智士です。50歳を超えてワードプレスに初めて出会い、ブログ歴は4年です。このウェブチルサイトは私にとって4つ目のサイトですが、ワードプレスをもっと深く勉強してわかりやすくお伝えできたらと思います。初心者向けにセミナーも開催してますので興味があれば声をかけてください。