だれかのなにかに役立てるウェブ制作者YoTaの趣味ブログ

All in One SEO Packでカスタム投稿のアーカイブページにdescriptionを表示する方法

wordpress

wordpressにおいて、プラグインAll in One SEO Packを用いて、あるカスタマイズをして、descriptionを表示する方法を紹介します。

All in One SEO Packでカスタム投稿のdescription設定をする方法

今回のカスタマイズ設定

下記の通りです。

・カスタム投稿"test"を作成
・アーカイブページ"archive-test.php"にdescription設定
・記事ページ"single-test.php"にdescription設定

descriptionの設定

まずカスタム投稿のことはさておいて……。

アーカイブページ自体がそもそも管理画面側でページを持たないので、プラグインAll in One SEO Packによる設定ができません。

そのため、アーカイブページにdescriptionを設定しようとする場合、必然的にphpファイルをイジイジする必要があります。

この時、方法が二つあって、

▼All in One SEO Packにadd_filterを用いる
https://blog.maromaro.co.jp/archives/1362

▼自分でif文(条件分岐)を打ち込んで作成する
https://nekomiblog.com/seo-archive/

の二択になります。

自分はひとまず後者のif文でササっと書いてしまいました。

header.phpのheadタグに、下記ソースコードを入力すれば、カスタム投稿のアーカイブページにdescription設定を反映させることができます。

<?php if(is_post_type_archive('test')): ?>
  <meta name="description" content="カスタム投稿testのdescriptionです。">
<?php endif; ?>

また、記事ページ(single-test.php)の条件分岐をする場合はis_singular('test')で条件分岐してやれば反映されます。(is_singleは通常投稿の記事ページ用条件分岐なので、要注意。)

ただ、のちほど時間を取って試してみたところ、前者の「add_filter」のやり方のほうが万能でした。カスタム投稿のアーカイブページを処理しようとする時はもちろん、他のページにも使えます。また、descriptionだけでなく、titleの設定、keywordの設定、canonicalの設定など、すべてカバー可能です。

なので、All in One SEO Packで、meta設定に悩んだら、function.phpでadd_filterをイジイジするとスムーズに問題解決できるかと思います!

まとめ

カスタム投稿のdescription設定は少し面倒ですが、やり方さえ覚えれば、そんなに難しくありませんので、じっくり取り組んでみてください!

ページ上部に戻る