[WordPress][yStandard] 投稿記事一覧のタイトル下の表示をメタディスクリプションに変更する

2019年4月2日ITWordPress

こんにちは、ハラダ(@nobuhiro_harada)です

このサイトのWordPressのテーマはブロガーのよしあかつきさん(@yosiakatsuki)が作成された yStandard を使わせていただいています

ありがとうございます。yStandard最高です

yStandard では、トップ画面で投稿記事一覧表示した時に記事のタイトルの下のテキストはそのままだと「記事の抜粋」になります

プラグイン All In One SEO Pack で使われる meta description (メタディスクリプション)にしたかったので、その変更手順です

ちなみに meta description (メタディスクリプション)とは、これのことです

※All In One SEO Pack や meta description に関してはバズ部さんのこちらのサイトがわかりやすかったです
参考:All in One SEO Pack の設定方法と使い方

検証環境

WordPress 4.9.1
MAMP 4.2(PHP 5.6、MySQL 5.6.35 )
プラグイン All In One SEO Pack インストール済み

変更箇所

themes/ystandard/template-parts/content-list-detail.php

18 行目付近

<div class="entry-excerpt" itemprop="articleBody">
    <?php
        the_excerpt();
    ?>
</div><!-- .entry-content -->

<div class="entry-excerpt" itemprop="articleBody">
    <?php if(get_post_meta($post->ID, _aioseop_description, true)): ?>
        <p><?php echo get_post_meta($post->ID, _aioseop_description, true); ?></p>
    <?php else : ?>
        <p><?php the_excerpt(); ?></p>
    <?php endif; ?>
</div><!-- .entry-content -->

All In One SEO Pack で追加されたこの項目に入力した meta description (メタディスクリプション) が、、、

表示されました!

ついでに関数をちょっと調べました

the_excerpt():
現在の投稿の抜粋を、文末に […]をつけて表示する
参考:テンプレートタグ/the excerpt

get_post_meta($post->ID, _aioseop_description, true):
記事ID と _aioseop_description を使って、 wp_postmeta テーブルから 登録した meta description を取ってくるみたいですね
aioseop は All In One SEO Pack の略のようです

ひとこと

関数をどう定義してるのか、WordPressの中を調べていったのですが、内部構造がちょっとわかってよかったです。また機会を見つけて探ってみようと思います

それでは、また

スポンサーリンク

Posted by nobuhiro harada