All in One SEO Packでカスタム投稿のアーカイブページにdescriptionを表示する方法
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設定は少し面倒ですが、やり方さえ覚えれば、そんなに難しくありませんので、じっくり取り組んでみてください!