ワードプレスの新着情報を取得する時にfeedから取得している人って多いですよね。ただ、feedから取得すると表示時間がおかしくなってしまっている事ありませんか?
はじめに
今回はワードプレスのfeedで9時間ずれてしまう時の改善方法をご紹介いたします。
注意事項
ワードプレスのバージョンややりたい事の内容によってはこの方法が使えない場合もございます。
ベースのPHP
まずは、新着情報を取得する為のphpをご紹介いたします。
<ul> <?php $rss = simplexml_load_file("ここにfeedが入ります"); $i = 0; foreach ($rss->channel->item as $item) { if( $i++ == 5 ) { break; } $link = $item->link; $title = $item->title; $date = date('Y.m.d H時i分s秒', strtotime($item->pubDate)); $desc =$item->description; echo ' <li>' . $date . ' <a href="' . $link . '" target="_blank">' . $title . '</a></li> '; } ?> </ul>
この記載をして、一度実際の投稿時間と表示時間をチェックしてみましょう。
これはfeedを読み込んで表示させています。
これで日本時間を表示
もし、実際に投稿している時間とfeedから読み込んで表示させた時間が9時間時間がずれていた場合は
「.’+9hour’」
これを時間に追加する事で改善する事が出来ます。
<ul> <?php $rss = simplexml_load_file("ここにfeedが入ります"); $i = 0; foreach ($rss->channel->item as $item) { if( $i++ == 5 ) { break; } $link = $item->link; $title = $item->title; $date = date('Y.m.d H時i分s秒', strtotime($item->pubDate.'+9hour')); $desc =$item->description; echo ' <li>' . $date . ' <a href="' . $link . '" target="_blank">' . $title . '</a></li> '; } ?> </ul>
こんな感じです。
どうでしょうか?とっても簡単でしょ?
さいごに
私と同じように悩んでいる人は沢山いらっしゃると思います。企業サイトなどでワードプレスを導入したものの、何故か時間が表示9時間もずれてしまい、どうする事も出来ない・・・
色々と改善方法を確認しましたが、wp-settings.phpなどのコアファイルをいじるやり方やwp-includes内のfeedをいじる方法も試してみたのですが、これと言う動きをしてくれませんでした。
feed上では実際に時間が書き変っているのにも関らず、フロント側では表示が変っていない・・・
と色々な改善方法を試したがダメだったので、思いついたのがfeedだけ表示時間がおかしいんだったら、フロント側だけあわせればよくね?って事でやってみました!
これで稼げる副業サイトでも楽に表示することができそうです。