WordPressのプラグイン【SEO SIMPLE PACK】を使って、
- カスタム投稿タイプ ※2つ以上ある場合
- アーカイブページ
- ディスクリプション(description)
を変更したい!!
と思ったのですが、一般設定からは変更ができませんでした。
結果としては、【SEO SIMPLE PACK】が用意しているフックを使用する事で、ディスクリプションを変更できました。
※以下は2つある、カスタム投稿アーカイブページの、ディスクリプションを設定するコードです。
/**
* カスタム投稿のアーカイブページにdescription追加
*/
function custom_meta_description($description) {
if (is_post_type_archive('カスタム投稿タイプ名①')) {
$description = 'ここにディスクリプションの文章が入ります。';
} elseif (is_post_type_archive('カスタム投稿タイプ名②')) {
$description = 'ここにディスクリプションの文章が入ります。';
}
return $description;
}
add_filter('ssp_output_description', 'custom_meta_description');
上記コードをfunctions.phpに記述すれば完了です!
詳細が気になる方は、以下に解説しますので、よろしければご確認ください。
使用したフック
公式サイトのFAQに以下回答がありましたので、フック【‘ssp_output_description’】を使用しました。
特定のページでの出力内容を上書きする方法は?
出力されるほとんどのタグの出力にはフィルターフックを使用していますので、add_filterで上書きが可能です。以下のようなフックを用意しています。
‘ssp_output_title’
https://ja.wordpress.org/plugins/seo-simple-pack/#how%20to%20overwrite%20the%20output%20on%20a%20particular%20page%3F
‘ssp_output_robots’
‘ssp_output_description’
‘ssp_output_canonical’
‘ssp_output_keyword’
などなど…
一般設定で試したこと
最初に記述したコードを使用すれば、一般設定からの設定は不要です。
上記コードに辿り着くまでに、一般設定を一通り触ったので以下に記録として残しておきます。
一般設定>その他アーカイブ>「カスタム投稿タイプ」のアーカイブページ
↓
実はここを変更すれば、カスタム投稿タイプのアーカイブページのディスクリプションが設定できます。
しかし、投稿タイプが1つの時は良いのですが、2つ以上ある時は、2つとも同じディスクリプションの内容が出力されます。


上記のように %page_contents% に変えて、固定ページ>カスタム投稿タイプのタイトル>以下部分に入力した内容が出力されることを期待しましたが、出力されませんでした。

試しに 一般設定>その他アーカイブ>「カスタム投稿タイプ」のアーカイブページ
のディスクリプションを、以下のように空欄にしてみましたが、やはり出力されませんでした。

一般設定>固定ページ>カスタム投稿タイプ : ⚪︎⚪︎
↓
この項目で行けるんじゃないか!?と思うが、赤枠部分はデフォルトで%page_contents%でした。

試しに「%term_description%」に変更して、先ほどと同じように、
固定ページ>カスタム投稿タイプのタイトル>以下部分に入力しても、やはり出力されませんでした。

結果
以上の一般設定の奮闘を終え、最終的にはフックを使ってディスクリプションを、各カスタム投稿タイプ一覧ページに出力しました!