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_関数はなくなるらしい。