ワードプレスで任意のmeta descriptionをページに応じて出力するPHPコードをご紹介します。
meta descriptionをホームページだけ指定するPHPコード
検索エンジンにそのページの内容を端的に伝える、Meta descriptionタグの出力内容をホームページだけ指定するコードは下記のようになります。
add_action( 'wp_head', function() { if ( is_home() || is_front_page() ) { echo '<meta name="description" content="メタデスクリプションの内容" />'; } });
wp_headは、ワードプレスのheadタグに任意のコードを挿入するアクションです。
is_home() || is_front_page() でホームページにだけmeta name=”description” タグを出力しています。
任意のページのメタデスクリプションを指定し、そのほかのページはexcerptをメタデスクリプションに出力する
この場合、下記のようなコードになります。
add_action( 'wp_head', function() { if ( is_home() || is_front_page() ) { echo '<meta name="description" content="メタデスクリプションの内容" />'; }else if(is_single()){ global $post; if ($post->ID == 1 ) { echo '<meta name="description" content="メタデスクリプションの内容2" />'; }else{ echo '<meta name="description" content="' .get_the_excerpt($post->ID). '" />'; } } });
まず、is_single() でそれが単一の投稿や固定ページであることを判定します。
次にglobal $post で投稿の構造化データを取得し、$post->ID == 1 (投稿id1)の場合にのみ メタデスクリプションの内容2 を出力します。
そのほかの場合はget_the_excerpt($post->ID) で投稿のEXCERPT(抜粋)を取得し、メタデスクリプションに出力します。
(get_the_excerpt は何らかのエスケープ処理、不要な文字列の置換処理が必要な可能性があります)
お試しください。
WordPress ワードプレスのプラグインやテーマの作成・カスタマイズのご依頼・ご相談はWPドクターまでお気軽にお送りください