WordPress description自動生成のタグ

2014年2月20日

WordPressでdescription、keywordsを自動で生成する方法。

以下のコードをhead内に張り付ける。

<?php if ( is_single() ) { // エントリーページ ?>
<meta name="keywords" content="<?php foreach((get_the_category()) as $category) { echo $category->cat_name . ','; } $posttags = get_the_tags();if ($posttags) {foreach($posttags as $tag) {echo $tag->name . ','; } } ?>" />
<?php if ($post->post_excerpt){ // 抜粋あり
$summary = strip_tags($post->post_excerpt);
$summary = preg_replace("/(\r\n|\r|\n)/", "", $summary); ?>
<meta name="description" content="<? echo $summary; ?>" />
<?php } else { // 抜粋なし
$content_summary = strip_tags($post->post_content);
$content_summary = preg_replace("/(\r\n|\r|\n)/", "", $content_summary);
$content_summary = mb_substr($content_summary, 0, 60). "..."; ?>
<meta name="description" content="<?php echo $content_summary; ?>" />
<?php } ?>
<?php } else { // エントリーページ以外 ?>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php } ?>

サイト検索で出てくるコードでは
preg_replaceの部分がereg_replaceになっていたりするが、eregだとエラーが出る可能性があるので注意。
/(\r\n|\r|\n)/で全ての改行を削除している。descriptionに改行はいらないから。
因にereg_関数はなくなるらしい。

PAGE TOP