【wordpress】descriptionで投稿の抜粋を表示する仕様にしたコードのメモ

投稿ページで既存のキャッチ文章ではなく、各投稿ページ独自の説明を表示したいという場合、抜粋部分に記載するとdescriptionに反映される設定も入れたdescriptionのメモ。

<?php if(is_front_page()): ?>
<meta name="description" content="<?php bloginfo( 'description' ); ?>">

<?php elseif (is_post_type_archive('news')):?>
<meta name="description" content="お知らせ - <?php bloginfo( 'description' ); ?>">

<?php elseif (is_archive()):?>
<meta name="description" content="ブログ - <?php bloginfo( 'description' ); ?>">

<?php
elseif(is_single()):
global $post;

if(empty($post->post_excerpt)) :?>
<meta name="description" content="<?php the_title(); ?> - <?php bloginfo( 'description' ); ?>">
<?php else: ?>
<meta name="description" content="<?php the_title(); ?> - <?php the_excerpt();?>">
<?php endif; ?>

<?php else:?>
<meta name="description" content="<?php the_title(); ?> - <?php bloginfo( 'description' ); ?>">

<?php endif; ?>

description.phpでパーツ化してheader.phpに読み込ませる仕様にするとスッキリして便利。

<!-- description -->
<?php get_template_part( 'components/description' );?>

抜粋にテキストを入れてみると、

このように表示される。

もし記事のタイトルが要らなければ「<?php the_title();?>-」を無しにすればOK!