カスタム投稿タイプのDescriptionを入れる方法。どうやらYoast SEOプラグイン(ver 6.1.1)では、カスタム投稿タイプでdescriptionを入れても、それが反映されないみたい。
このアーカイブページはかなり有用な場合が多いので、SEO対策としても、是非descriptionを入れておきたい。
YoastのAPIはこちら:
これの、wpseo_metadesc hookを使う。
投稿タイプを定義するとき、register_post_type() のdescriptionを入れるので、それをarchive pageのdescriptionに入れるには以下をfunctions.php に追記:
add_filter( 'wpseo_metadesc', 'hoge_change_description', 10, 1 );
function hoge_change_description( $str ) {
// if archive page
if( is_archive() ){
$queried_object = get_queried_object();
$post_type = $queried_object->name;
// check if this has description
$obj = get_post_type_object( $post_type );
if( !empty( $obj->description ) )
return esc_html( $obj->description );
}
return $str;
}
まあ、作ったあとに、WP側でもできることがわかったけどね。。
WP管理画面→SEO→Titiles & Metas → Post Types
ただ、このhookを使って動的にdescriptionを変えられるのは良いかもね。
