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(); ?>" />