n2apps.jp

≪モバイル・ネット全般の話題から、ライフハック的な記事まで≫ 気が向いたときに、思うままに書いています。

WordPressのRSS Feedに「アイキャッチ画像」を追加 & moreタグまでを表示する方法

      2014/07/10

n2apps.jp RSS

WordPressのRSS feedは「全文を表示」と「抜粋のみを表示」から設定で選ぶことができます。

でも、

  • RSS Feedに「全文を表示」するのは嫌だ!
  • 一定の文字数(110文字)で区切る「抜粋」も嫌だ!
  • かといって、新規投稿時に「抜粋」を手入力するのも面倒・・・。
  • できれば、こちらが意図した区切り(more)までを表示したい。

という思いがありました。

これを叶えてくれるのが「More Feed Excerpt」というプラグイン。

このプラグインをインストールして有効化すると、moreまでの本文をRSS Feedに表示することができます。

でも、アイキャッチ画像が表示されずテキストのみ。(記事本文に画像を貼り付けていないためですが。参考記事

なので、このプラグインを少し改良することにしました。

SPONSORED LINK

「More Feed Excerpt」プラグインの改良

改良したい点

  • RSS Feedに「アイキャッチ画像」を追加する
  • 抜粋文の後ろに「続きを読む」リンクを表示する

修正前のソース

バージョンは、0.1.1を使用。青い部分は、修正する箇所です。

function mfe_More_Feed_Excerpt($PostBody) {

  if ( is_feed() and !get_option('rss_use_excerpt') ) {

    $FeedSplitPattern = "/(<br \/>\s)?<span id=\"more-\d+\"><\/span>/";
    $excerpts = preg_split($FeedSplitPattern, $PostBody, 2, PREG_SPLIT_NO_EMPTY);
    if ( count($excerpts) > 1 ) {
      $PostBody = balanceTags( $excerpts[0], $force = true );
    }
  }
  return rtrim($PostBody);
}

修正後のソース

赤い部分が、修正および追加した箇所です。

function mfe_More_Feed_Excerpt($PostBody) {
  global $post;

  if ( is_feed() and !get_option('rss_use_excerpt') ) {

    if(has_post_thumbnail($post->ID)) {
      $thumbnail = '<p>' . get_the_post_thumbnail($post->ID) . '</p>';
    }

    $FeedSplitPattern = "/(<br \/>\s)?<span id=\"more-\d+\"><\/span>/";
    $excerpts = preg_split($FeedSplitPattern, $PostBody, 2, PREG_SPLIT_NO_EMPTY);
    if ( count($excerpts) > 1 ) {
      $excerpts = balanceTags( $excerpts[0], $force = true );
      $more_link = sprintf(
        ' <a href="%s">%s</a>',
        get_permalink(),
        '[続きを読む]'
      );

      $PostBody = $excerpts . $more_link;
    }

  }
  return $thumbnail . rtrim($PostBody);
}

注意したい点

プラグインが更新されると、修正内容がクリアされます。

プラグインを更新しないようにするか、更新した後に再度同じ修正をする必要があります。

 - WordPress , , , , ,

Message

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

  関連記事

stinger3
WordPressテーマ「STINGER3」を導入してみた(いろいろテスト)

WordPressのテーマ「STINGER3」を導入してみました。 ということで …

moreタグ
【WordPress】 moreタグの「続きを読む」が「(さらに…)」と表示される原因と対策

WordPressで運営している別のサイトで、記事の途中に moreタグ(&lt …

アイキャッチ画像を表示
【STINGER3】で、記事本文の上にアイキャッチ画像を表示する方法

WordPressテーマの「STINGER3」を利用して、色々とカスタマイズして …

モバイルバナー
【STINGER3】で、スマホ向けに「320×50 – モバイル バナー」を表示する方法

WordPressテーマの「STINGER3」を利用して、色々とカスタマイズして …

stinger5
WordPressテーマを「STINGER3」から「STINGER5」に変更しました(カスタマイズ内容まとめ)

当サイト「n2apps.jp」のWordPressテーマを「STINGER5」に …