kentanjp
メンバー
2 years前の投稿 #
こちらの記事を参考にWordPress(サイト1)で作ったテンプレにWordPress(サイト2)のRSS情報を表示させてます。
WordPress 2.8xでは問題なかったのですが、WordPress 2.9xより
投稿日時が公開日時でなく記事の公開ボタンを押した日時になり困っています。
#予約投稿で1/6 15時公開で投稿を1/4 12時に押すとRSSの取得日時が1/4 12時で表示されます。
WordPress 2.8xのときのように公開日時で取得するにはコアファイルのどこを修正すればいいのでしょうか?
kentanjp
メンバー
2 years前の投稿 #
レスどうもです。
試してみましたが変わりませんでした(^-^;
kentanjp
メンバー
2 years前の投稿 #
http://example.com/feed/のsauceを見るとpubDateの値が投稿を押した日時になってます。
http://example.com/feed/をブラウザで読み込むと正常に公開日時(予約投稿で指定した日時)で表示されます。
DBみましたがpost_date_gmtの日時が別BlogでRSS表示させたときに取得されてます。
例
1/6 0時に公開予定で1/5 15時に投稿ボタンを押した場合
DBの値:
post_date:2010-01-06 00:00:29
post_date_gmt:2010-01-05 15:00:29
投稿したBlogの個別記事・/feed/ではpost_dateで表示されています。
※ただし/feed/のsauceを見るとpost_date_gmtで表示
別Blogで初回質問時のサイトのPHPを使って表示させると投稿日時がpost_date_gmtで表示されている
別Blogで表示させるのにpost_date_gmtの値ではなくpost_dateの値を表示させたい
うちだけの問題っすかねぇ?
kentanjp
メンバー
2 years前の投稿 #
うーん。同じ鯖に別DB作って確認しましたら正常に動作しますねぇ・・・。
予約投稿で投稿し公開ボタンを押した時間を記録し、予約時間が過ぎて記事が公開されることを確認しDBの値を見てあっているかを確認後、/feedを表示させてsauceを確認。
サイト2(記事があるBlog)のほうは・・・
wp-includes/feed-rss2.phpの
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
の出力値(http://example.com/feed/)が何故かpost_dateではなくpost_date_gmtの値がでてるみたいです。(なので意図的に公開時間を変更しても修正されない)
でサイト1でRSS情報を表示すると投稿ボタンを押した日時が出ると・・・。
うーん。2.9にUPするときにDBのアップデートしくったのかな・・・。
kentanjp
メンバー
2 years前の投稿 #
kzさん
ありがとうございます。
クリックした時間が常に表示されてる状態になってます。
教えていただいたサイトを参考に修正しましたが結局はかわりませんでした。
イレギュラーな問題だと思うので・・・RSS表示PHPをRSSからATOMに変更して対応しました。
#ATOMは記事の再編集すると公開時間ではなく投稿時間でアップデートタイムがでるので微妙ですが
一旦クローズにしてもう少し探してみます・・・。