0
投稿タグをヘッダーmeta keywordsにする
WordPress(ワードプレス)をCMS的に利用する時、いつも感じること!
head内の
meta name=”Description” content=
meta name=”keywords” content=
は、
やはり全ベ―ジごとに、そのページの属性にあったモノが自動的に挿入されてほしい!もちろん、サイト内で重複せずに!
ググっていたら見つけました!
PHPでmetaタグ(keywords)自動挿入 | WordPressing!
これは、
meta name=”keywords” content=
の方だけですが、
投稿(post)で、各記事ごとに設定した「投稿タグ」をそのままmetaキーワードにする方法。
<?php function keywords_tag($id) { $terms = get_the_tags($id); if(!is_wp_error($terms) && !empty($terms)) { $tags = array(); foreach($terms as $term) $tags[] = $term->name; echo '<meta name="keywords" content="'.implode(',', $tags).'" />'; } } if(is_single()) keywords_tag($post->ID); ?>
投稿ページ(single)の場合のみ、投稿タグがmetaキーワードとして入って、
<meta name="keywords" content="投稿タグ1,投稿タグ2,投稿タグ3,投稿タグ4" />
と表示。
(投稿ページ以外では、meta name=”keywords”~自体が非表示)
ちなみに、
自分がよく利用させて頂いているテーマ賢威5.0では、
functions.php内に記述されている下記コードより出力しているようです。
/** * タグを meta keyword に表示する */ function the_keyword_keni() { global $wp_query; $cat = get_query_var('cat'); if( !empty( $cat ) ) { single_cat_title() ; } else if( is_tag() ) { single_tag_title() ; } else if( is_month() ) { printf( __('Archive List for %s','keni'), get_the_time(__('F Y','keni'))) ; } else if( is_search() ) { printf( __('Search Result for %s','keni'), esc_html(get_search_query())) ; } else if( is_single() ) { $tags = get_the_tags($wp_query->post->ID); $tag_list = ""; if ( $tags ) { foreach ( $tags as $tag ) { $tag_list .= esc_html($tag->name) . ', '; } } $tag_list = strtolower(rtrim($tag_list, " ,")); echo $tag_list; } }
header.php内の記述
<meta name="keywords" content="<?php the_keyword_keni(); ?>" />