Anonim

WordPress開発のある時点で、誰かにカスタムフィードを提供する必要があるかもしれません。 誰かにAPIを提供するか、特定のユーザーセットに優れたエクスペリエンスを提供するだけであっても、簡単に実行できます。

この方法は少し簡単なので、デフォルトのフィードを拡張するよりも新しいフィードを作成することを好みます

add_feed WordPress関数

add_filter( 'init'、 'tj_init_custom_feed'); function tj_init_custom_feed(){//フィードの初期化add_feed( 'custom-feed'、 'tj_custom_feed'); }

WordPressテーマのfunctions.phpファイルに、上記のコードを追加します。 add_feedを直接呼び出さないことが最善であるため、「init」のフィルターを使用して追加します。 関数呼び出しの最初のパラメーターは、フィードのURLスラッグを提供するために使用されます。 2番目のパラメーターは、関数名に関連付けるために使用されます。 そのため、そのURLが呼び出されると(yourblogurl.com/custom-feed)、PHP関数tj_custom_feedが実行されます。

そのURLが正しく認識される前に、WordPressの書き換えルールをフラッシュする必要があることに注意してください。 ルールを強制的にフラッシュする良い簡単な方法は、WordPress管理->設定->パーマリンクに移動して、変更を保存ボタンをクリックすることです。

XMLを出力する

RSS / XMLフィードコードを出力することに関して、それほど複雑なことはありません。 まず、content-typeはphpヘッダー関数を介して設定されるため、適切にレンダリングできます。 次に、get_postsからデータを取得してループし、画面にエコー出力します。

function tj_custom_feed(){header( "Content-type:text / xml"); echo "\ n"; エコー " \ n "; $ posts = get_posts(); foreach($ posts as $ post){$ post_link = get_permalink($ post-> ID); $ image = wp_get_attachment_image_src(get_post_thumbnail_id($ post-> ID)、 'full') ; エコー ' '; エコー "\ t "。$ post-> ID。" \ n ";エコー" \ t "。$ post-> post_date。" \ n ";エコー" \ t "。$ post_link。" \ n ";エコー" \ t "。esc_html($ post-> post_title)。" \ n ";エコー" \ t "。esc_html(strip_tags($ post-> post_excerpt))。" \ n ";エコー" \ t "。$ image。" "; エコー ' '; } エコー " "; 出口; }

カスタムのワードプレスrss / xmlフィードの作成