カテゴリー別アーカイブ: RSS

WordPress外部XMLのRSS2フィードにカスタムフィールドの値を読み込む記述

WordPressのRSS2フィードに、投稿ページに入力したカスタムフィールドの値を取得させる記述方法。

例としてカスタムフィールドの名前を[customvalue]として、
値を<custamv>カスタムバリューの内容</custamv>とします。

RSS2フィードのXMLデータにカスタムフィールドの値を以下のような方法で記述。

まず、wp-includeフォルダにあるfeed-rss2.phpを開き、
<item>のタグ内のどこかに以下を記述するだけです。

RSS2フィードを表示させ、HTMLのソースコードを表示させ、あらたに値が取得できていればOKです。
ブラウザによってはキャッシュが残るので、更新の度にキャッシュクリアを確認します。

WordPressでカスタムフィール値をRSSフィードに書き出す

カスタムフィールドとRSSフィード

WordPress投稿画面カスタマイズとカスタムフィールドプラグインは前回設置まで行っていました。

カスタムフィールドプラングインは、『Custom Field Template plugin』をインストールしましたが、今回は、RSSフィードにカスタムフィールドおよびプラグインのCustom Field Template pluginの情報を、XMLノードに追加させる手順について学習してみました。

基本的にはテンプレートタグのthe_meta()、get_post_meta()をそれぞれのテンプレートphpのループ処理のどこかに記述を加えるだけで表示することが可能ですので、
おそらくRSS2.0フィードを出力するソース内に同様の記述をすれば解決するだろうと予想してみました。

追いかけてみるとwp_includesフォルダのfeed-rss2.phpがデフォルトで使用されていたので、開いてみるとRSS2.0出力ファイルで間違いなさそうなので、the_meta()タグをループ処理内に追加。

再び、RSS2.0を表示させるがカスタムフィールドの追加内容が表示されていない。しかし、ソースコードを見てみると、値が取得できていました。

とりあえず、イメージ画像のフィールドを別に設けて、RSS2.0フィードからXMLノードの参照はできるようになりましたが、もう少しカスタマイズしないと、今後の運用で時間がかかると考え、以下のカスタマイズを試みてみました。

○RSSフィードに出力されるカスタムフィールドのUL,LIタグのカスタマイズ

カスタムフィードの出力するUL,LIタグですが、post-template.php内のthe_metaタグを複製して、新規のfunctionを追加して,feed-rss2.phpに新規関数記述で問題なく値が出力されていました。

RSS2.0フィードのカスタマイズについては、rss2.0(Really Simple Syndication)の要素や名前空間をより理解しないと、自由なカスタマイズは難しいかもしれません。

とりあえず、参照できるかどうかは別として、カスタムフィールドの内容をRSS2.0フィードのXMLノードに出力することができたので、この追加要素の値が外部から参照できるかどうかを試してみたいとおもいます。