サポート » 使い方全般 » wordpressの予約投稿の日付とRSSでの日付が違ってしまう

  • 解決済 takashiyoshida

    (@takashiyoshida)


    予約投稿をしたのですが、wordressの投稿のRSSでは日付が予約日の日付ではなく、記事を入力した日付で取得されてしまいました。外部サイトへRSSのfeedを読み込んで記事タイトルと日付を表示させる都合上、日付は予約日でも表示させたいと思います。

    例 管理画面の公開日時には 2015年12月19日となっているが、RSSだと
    <pubDate>Fri, 18 Dec 2015 10:46:52 +0000</pubDate>

    と18日になってしまっています。予約投稿によって公開日時が19日になったようにRSS側でも19日になりますでしょうか?

    予約投稿ではRSSでの日付は正常には取得できない仕様なのでしょうか?

    教えていただけたらありがたいです。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター Daisuke Takahashi

    (@extendwings)

    WordPressのタイムゾーンの設定はどこになっていますか?

    Daisuke Takahashi様
    ご連絡ありがとうございます。タイムゾーンは東京になっております。

    wordpress側の投稿時間がグリニッジ標準時間に設定されちゃってるためにマイナス9時間の影響がでてRSS側で表示されちゃうようです。

    下記参照させていただきました。
    http://project-syatiku.com/archives/191.html

    wp-settings.php を下記のように修正。
    // WordPress calculates offsets from UTC.
    date_default_timezone_set(‘UTC’);

    // WordPress calculates offsets from UTC.
    date_default_timezone_set(‘Asia/Tokyo’);

    /wp-includes/feed-rss2.php を下記のように修正。
    <lastBuildDate><?php echo mysql2date(‘D, d M Y H:i:s +0000’, get_lastpostmodified(‘GMT’), false); ?></lastBuildDate>

    <lastBuildDate><?php echo mysql2date(‘D, d M Y H:i:s +0900’, get_lastpostmodified(‘blog’), false); ?></lastBuildDate>

    変更点は
    「+0000」を「+0900」に変更
    「GMT」を「blog」に変更

    <pubDate><?php echo mysql2date(‘D, d M Y H:i:s +0000’, get_post_time(‘Y-m-d H:i:s’, true), false); ?></pubDate>

    <pubDate><?php echo mysql2date(‘D, d M Y H:i:s +0900’, get_post_time(‘Y-m-d H:i:s’, false), false); ?></pubDate>
    変更点は
    「+0000」を「+0900」に変更
    「true」を「false」に変更

    ただ、wordpressのバージョンアップするとファイルも上書きされてもとにもどるとおもいます…。

    ありがとうございました。

    モデレーター Daisuke Takahashi

    (@extendwings)

    9時間ずれているという事であればそれはバグではなく、RSSの正常な仕様です。
    RSSフィードを見ている人のタイムゾーンに合わせて表示するのはRSSリーダが勝手にやります。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「wordpressの予約投稿の日付とRSSでの日付が違ってしまう」には新たに返信することはできません。