WordPressテーマのdescriptionに一般で設定するキャッチフレーズ(サイトの説明)ではなく、記事の内容に沿った抜粋を表示する例を紹介します。
GoogleなどへのSEO対策やSNSへ情報を送るなど、descriptionへの要望は多いです。
関数作成
まずはfunctions.phpに出力用の関数を記述します。単純に記事のみ抜粋を表示する場合、条件分岐タグのis_single関数と、投稿記事の抜粋を取得するget_the_excerpt関数を使います。また、抜粋への入力が無い場合は、通常通りキャッチフレーズを表示するようにしています。
functions.php
function get_description() {
// 記事ページの場合
if(is_single()) {
// 投稿画面で入力した抜粋を出力用の変数へ代入
$description = get_the_excerpt();
}
// 抜粋が無い場合は通常通りキャッチフレーズを出力
if(empty($description)) {
$description = bloginfo('description');
}
return $description;
}
テーマに出力
次にテーマ上の出力したい場所に作成した関数を記述します。
metaタグのdescriptionに出力する場合は次のようになります。OGPに出力する場合も同じようにを使えます。
head内meta部分
<meta name="description" content="<?php echo get_description(); ?>">
OGPのdescriptionに出力する場合
<meta property="og:description" content="<?php echo get_description(); ?>">
これで記事の抜粋をdescriptionに出力することができ、抜粋が無い場合はサイトのキャッチコピーを出力して、descriptionが空になることを防ぎます。