《WordPress》目次に「関連記事タイトル」が表示されたときの対処法

wordpreesプラグインで「Table of Contents Plus」と「Wordpress Related Posts」を入れていると、
目次の最後に「関連記事」など、「Wordpress Related Posts」で設定したタイトルが表示されてしまいます。
目次の内容的にも表示されないほうがいいので、表示させなくする方法を紹介します。

スポンサードリンク

「Table of Contents Plus」側で表示させなくする

目次を表示しているプラグイン「Table of Contents Plus」で設定をして、非表示にする方法です。

「見出しレベル」のチェックを外す

上級者向け設定の中の「見出しレベル」の「heading 3 – h3」のチェックを外せば目次に表示されなくなります。
これは関連記事のタイトルの見出しレベルが「h3」タグで設定されているためです。

見出しレベル2までしか目次に表示しない人はこの方法でOKですが、見出し3・見出し4を使っている人は使えません。
見出し3を抜いて見出し4を使う事は推奨されていないためです。

「除外する見出し」にタイトルを書く

同じく上級者向け設定の「除外する見出し」に関連記事のタイトルを書いておけば、目次に表示されなくなります。

しかし記事中の見出しが関連記事のタイトルと同じ場合、そちらも目次に表示されなくなるので注意しましょう。

「Wordpress Related Posts」側で表示させなくする

プラグインの編集で解除

「Wordpress Related Posts」プラグインのソースコードを編集して表示させなくします。
まずはダッシュボードの「プラグイン」にカーソルをあわせ、「プラグインの編集」をクリック。

次に編集するプラグインから「Wordpress Related Posts」を選択。

その中の「init.php」からCtrl+Fで「related_post_title」と探して下さい。
すると、

'<h3 class="related_post_title">' . $title . '</h3>'

と出てくるので、「h3」タグを「p」などに変えましょう。

'<p class="related_post_title">' . $title . '</p>'

こうするとタグが「h3」から「p」になるため、「Table of Contents Plus」の設定の見出しレベルに引っ掛からなくなります。

single.phpにコードを書いて解除

こちらは関連記事の項目の表示をプラグイン側で自動でするのではなく、手動で設定する方法です。
この方法ならプラグインのソースコードを弄らず、自分の任意の場所に項目を表示することもできます。

まずは「Wordpress Related Posts」の設定で、「Auto Insert Related Posts」(自動で関連記事を表示)のチェックを外します。
これで関連記事項目が自動で表示されなくなります。

次に「外観」→「テーマの編集」で、記事ページである「single.php」を開いて関連記事を表示するコード

<?php wp_related_posts() ?>

を任意の場所に書き込みます。
記事の最後に表示するならこのコードを「single.php」の最後の辺りの位置に書きます。

     endwhile;?>

       <?php wp_related_posts() ?>

  </div>

<?php
get_sidebar();
get_footer();

これで目次に表示せず、関連記事を表示させることができます。

広告などを貼っていた場合、表示位置を変えるのにも使えます。

最後に

どれでも目次での表示を消せますが、他への影響が少ないのはプラグインの編集かテーマの編集なので、この方法をオススメします。