WordPressでカスタムRSSフィードを作成する方法

WordPressにはデフォルトのRSSフィードが組み込まれています。 RSSフィードにカスタムコンテンツを追加したり、投稿のサムネイルをRSSフィードに追加したりすることで、デフォルトのフィードを調整できます。ほとんどのユーザーにはデフォルトのRSSフィードとAtomフィードで十分ですが、特定のタイプのコンテンツを配信するためのカスタムRSSフィードを作成することもできます。この記事では、WordPressでカスタムRSSフィードを作成する方法を紹介します.


このチュートリアルは、初心者レベルのWordPressユーザーを対象としたものではないことに注意してください。初心者で、それでも試したい場合は、ローカルインストールで行ってください。.

いつものように、ライブWebサイトに大きな変更を加える前に、WordPress Webサイトの完全なバックアップを作成する必要があります.

それでは、WordPressで最初のカスタムRSSフィードから始めましょう。.

次の情報のみを表示する新しいRSSフィードを作成するとします。

  • 題名
  • リンク
  • 公開日
  • 著者
  • 抜粋

まず、テーマのfunctions.phpファイルまたはサイト固有のプラグインに新しいRSSフィードを作成する必要があります。

add_action( ‘init’、 ‘customRSS’);
function customRSS(){
add_feed( ‘feedname’、 ‘customRSSFunc’);
}

上記のコードは、フィードを追加するcustomRSS関数をトリガーします。 add_feed関数には、feednameとコールバック関数の2つの引数があります。フィード名は新しいフィードURL yourdomain.com/feed/feednameを構成し、実際にフィードを作成するためにコールバック関数が呼び出されます。後で必要になるので、フィード名をメモします。.

フィードを初期化したら、テーマのfunctions.phpファイルまたはサイト固有のプラグインで次のコードを使用して、必要なフィードを生成するためのコールバック関数を作成する必要があります。

function customRSSFunc(){
get_template_part( ‘rss’、 ‘feedname’);
}

上記のコードは、get_template_part関数を使用して別のテンプレートファイルにリンクしていますが、RSSコードを関数に直接配置することもできます。 get_template_partを使用することで、機能をレイアウトとは別に保つことができます。 get_template_part関数には、slugとnameという2つの引数があり、最初のファイルから始めて、次の形式の名前のテンプレートファイルを探します(最初のファイルが見つからない場合は、2番目のファイルに移動します) 、 等々):

  1. wp-content / themes / child / rss-feedname.php
  2. wp-content / themes / parent / rss-feedname.php
  3. wp-content / themes / child / rss.php
  4. wp-content / themes / parent / rss.php

このチュートリアルでは、スラッグを作成するフィードのタイプ(この場合はrss)に設定し、名前を前に設定したフィード名に設定することをお勧めします.

WordPressにフィードテンプレートを探すように指示したら、それを作成する必要があります。以下のコードは、前にリストした情報を使用してフィードのレイアウトを生成します。このファイルを、get_template_part関数で構成されたslug-name.phpテンプレートファイルとしてテーマフォルダーに保存します。.

<?php
/ **
*テンプレート名:カスタムRSSテンプレート-フィード名
* /
$ postCount = 5; //フィードに表示する投稿の数
$ posts = query_posts( ‘showposts =’。$ postCount);
header( ‘Content-Type:’ .feed_content_type( ‘rss-http’)。 ‘; charset =’。get_option( ‘blog_charset’)、true);
エコー ‘<?xmlバージョン="1.0" encoding ="’.get_option(’ blog_charset ‘)。’"?「。」>’;
?>
>

<?php bloginfo_rss( ‘名前’); ?> – フィード
" rel ="自己" タイプ="application / rss + xml" />
<?php bloginfo_rss( ‘url’) ?>
<?php bloginfo_rss( ‘説明’) ?>
<?php echo mysql2date( ‘D、d M Y H:i:s +0000’、get_lastpostmodified( ‘GMT’)、false); ?>
<?php echo get_option( ‘rss_language’); ?>
<?php echo apply_filters( ‘rss_update_period’、 ‘hourly’); ?>
<?php echo apply_filters( ‘rss_update_frequency’、 ‘1’); ?>
<?php do_action( ‘rss2_head’); ?>
<?php while(have_posts()):the_post(); ?>

<?php the_title_rss(); ?>
<?php the_permalink_rss(); ?>
<?php echo mysql2date( ‘D、d M Y H:i:s +0000’、get_post_time( ‘Y-m-d H:i:s’、true)、false); ?>
<?php the_author(); ?>
<?php the_guid(); ?>

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    [ware_item id=87][/ware_item]
    Like this post? Please share to your friends:
    Adblock
    detector
    map