記事ダイジェストにAll in One SEOのディスクリプションを載せる方法

こんにちは、薬機法に強い薬剤師セールスコピーライターの江良公宏です。

本年もどうぞよろしくお願い申し上げます(^o^)

今日は薬事とはぜんぜん別なのですが、お正月に色々とテーマをいじっていたので、その備忘録です。

 あ、完全に自分用の備忘録なので、Wordpressに興味ない方はスルーしてくださって結構です(^^;)

現在このブログではOpencageのハミングバードテーマ(ストークの一個前のテーマ)を使用しています。といっても、ストークからかなりの機能を移植して使っているので実質ほぼストークなのですが(^^;)

記事一覧のページはカード型で出力するようにしています。そこで表示される記事内容はWordpressの「抜粋」というテーブルから拾ってくる仕様なのですが、All in One SEOを使っているので抜粋は使用していません。

そのため、表示されているのは本文の冒頭の100文字程度です。

冒頭って名乗ってから書くことが多いので、どの記事も「こんにちは、○○です。」って感じになってしまうので気になっていました。。。

All in One SEOのディスクリプションを抜粋に記入するプラグインは自作したのでそれを使っても良いのですが、わざわざ記事更新の度にそれをやるのも面倒。

ということで、All in One SEOのディスクリプションが直接表示されるように修正をしました。

対象となるのは、「parts_archive_card.php」

こいつを子テーマにコピーしていじります。

その中で、下記部分を変更します。(Syntax Highlighter入れていないので見づらいですがご容赦を)

 

【変更前】
<div class=”description”><?php the_excerpt();?></div>
【変更後】
<div class=”description”>
<?php
$aioseop = get_post_meta( get_the_ID(), ‘_aioseop_description’ ,true);
if( ” != $aioseop )
{
echo “<p>”, esc_html($aioseop), “</p>”;
} else {
the_excerpt();
} ?>
</div>

ちなみにハミングバードやストーク以外のテーマでも同様のことが可能です。 

って、今考えたらAll in One SEOのディスクリプションって無記入だと自動で冒頭を抜粋してくれるので、if文での分岐いらなかったですね。。。

ただし、PHPファイルの修正は計画的に(^^;)

(Wordpress4.9あたりから構文チェックが入るようになったので、前みたいに真っ白になることはなくなったようですね) 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です