RSSを取得するときに時刻がずれる問題

この記事まだ確認していないが、いつかやってみる価値あるかも

まさはしFPはrssのタイムゾーンずれるから。いまは有料のfeedwindつかっているから+9時間の時間補正がきいているがレギュラー解約になった際にはこれやってみる クライアントが風水の時間法則をきにするので時間表示のずれがなく、決まった日に投稿されている必要がある。

 

RSSを取得するときに時刻がずれる問題について

 

unctions.phpに記述することで、RSS取得しても日付が正しく表示されるようになりました。

/*
RSSで取得したブログ投稿日付が9時間ずれているので、修正するカスタマイズ
*/
//タイムゾーンが東京になっているか確認する。
if(date_default_timezone_get() != "Asia/Tokyo"){
date_default_timezone_set("Asia/Tokyo"); //そうでない場合にはタイムゾーンを東京に設定
}

rss.php rss.js rss feed を表示させる feedwindを使わなくてjQueryで表示させる

サーバーにアップしないと表示されないから。ローカルではみれない。

 

ネットワールドにカスタマイズしてもらった。D/webコンテンツツール/RSS蟹谷さん制作

 

 

 

表示されないときはjsの位置や、順番が関係してるかも。

<script src=”js/jquery-1.11.3.min.js”></script>
<script src=”rss.js”></script>

jsは jquery-1.11.3.min.js にした方がいいっぽい。

ほぼコピペでOK!PHPとjQueryを使って外部サイトのRSSフィードを取得・表示する方法

 

work/RSS-TEST/

http://cm-creation.net/yoshida/RSS-TEST/

●レギュラー契約切れた岩瀬工務店にもfeedwindから切り替えてこちらの方法で実装中。花の湯館も変更した。

 

※wordpressはグリニッジ時間でfeedしてるけど、このjQueryはタイムゾーンも補正して表示させてくれてるかは不明なのでまさはしFP、藤田運送はfeedwindをそのまま使用したほうが無難。投稿日付を気にしすぎるユーザーに対してはそのほうが無難かも。wp-settings.phpの日付をタイムゾーン修正することもできるが、wordpressのアップデートで上書きされてこの記述が消えてしまうからwordpress側での設定は文字通り不可能かとおもう。

 

※UTF-8のソースで作っているプログラムだから、jift_jis のhtmlに設置すると文字化けする!! スターダストヨット。

 

htmlへ rss.jsを関連付け。表示はrss.jsで設置してある要素をidで指定。
rss.phpでfeedのURLを定義づける。

 

 

※wordpressの仕様上でシングル、ダブルクォーテーションの記述箇所が全角で入力なっちゃうのでソースのコピペ後は半角英数のシングル、ダブルクォーテーションに直すこと!

●index.html

<!doctype html>
<html>
<head>
<meta charset=”utf-8″>
<title>無題ドキュメント</title>

<script src=”js/jquery-1.3.2.min.js“></script>
<script src=”rss.js“></script>
</head>

<body>

<div id=”rss“></div>

</body>
</html>

※head内のjsの記載場所気を付けないとバッティングして作動しない。表示されないときは挿入箇所疑ってみること

※#rssの高さは外要素の高さと同じ高さにcss側で記述する。トピックのulがマージンとパッディングあるので、これも調整する

#rss {
height: 280px;
width: 100%;
text-align: left;
background-image: url(../image/top/feedwind-bg.png);

}

#rss ul,#rss menu,#rss dir {margin: 10px;
padding: 10px;}

#rss li {padding-top:10px;}


●rss.js

$(function() {
$.ajax({
url: ‘rss.php‘,
xmlType: ‘xml’,
success: function(xml) {
var row = 0;
var data = [];
var nodeName;
var output = $(‘#rss‘);

$(xml).find(‘item’).each(function() {
data[row] = {};
$(this).children().each(function() {
nodeName = $(this)[0].nodeName;
data[row][nodeName] = {};
attributes = $(this)[0].attributes;
for (var i in attributes) {
data[row][nodeName][attributes[i].name] = attributes[i].value;
}
data[row][nodeName][‘text’] = $(this).text();
});
row++;
});

output.wrapInner(‘<ul></ul>’);
for (i in data) {
var date = new Date(data[i].pubDate.text);
var strdate = date.getFullYear() + ‘年’ + (date.getMonth() + 1) + ‘月’ + date.getDate() + ‘日’;

//↓日付後バージョン styleで成形
output.find(‘ul’).append(<li style=”list-style:none; padding-left:0px; margin-left:0px; ” > + <a href=” ‘ + data[i].link.text + ‘ ” style=”text-decoration: none; color:#2e7ec8; font-size:100%;”> + data[i].title.text + </a> + <br style=”line-height: 100%;”> + <span class=”rss-date” style=”font-size:75%;”> + strdate + </span> + </li>);

//console.log (data[i]);
}
}
});
});

 

※htmlに関係してある箇所は (’ひとつづつ。すなわちシングルクウォーテーション2つ。) で囲み、 + で接続する。


●rss.php

<?php
$url = “http://cm-creation.net/yoshida/localwork/?feed=rss2“;
$xml = file_get_contents($url);
header(“Content-type: application/xml; charset=UTF-8”);
print $xml;
?>

 

 

 

 

wordpressでは機能しない?たぶんrss.jsの4行目のurl個所がネックになってる?

feedが表示されない。テーマ階層にrss.jsやrss.phpをおいてもfeedが表示されない。

トップページに表示させているブログの日付が合わない feedwind タイムゾーン

https://feed.mikle.com/ja/support/displaying-time-date/

まさはし

wordpressで予約投稿した日付が8/1 実際に記事を打ち込んだのが7/31 feedを読み込みトップページには8/1となるので直してほしいと依頼

ブログを見ると8/1 feed側をみると7/31

 

feedwindのタイムゾーン設定の問題

 

 

FeedWind (Mikle Inc.)

Aug 2, 15:38 JST

吉田孝様

いつもFeedWindをご利用いただきまして誠にありがとうございます。
FeedWindサポート 石塚と申します。

>> blogの投稿日が8/1 6:00頃なのに、feedwindでは7/31となってお
>> り、多分、グリニッジ時間で表示されてるみたいです。日本時間で
>> 表示させるにはどうしたらよいでしょうか

こちらは明示的にタイムゾーンを日本時間に設定して頂く必要がございます。

下記チュートリアル記事の「タイムゾーンを設定する」をご参照ください。

◎投稿した日付と時間を表示する
https://feed.mikle.com/ja/support/displaying-time-date/

主な手順は
(1)「コンテンツ」→「詳細設定」をクリックし、「タイムゾーン」をOnに変更
(2)プルダウンメニューより「(GMT+09:00) Tokyo」を選択

お手数ではございますがこちらで一度お試しいただけますでしょうか。
なお、RSS側で適切に時刻表示がなされていない場合、日本時間への変更ができない可能性がございます。
うまく機能し場合、表示したいRSSのURLをお書き添えの上、再度ご連絡をいただけますでしょうか。

何卒よろしくお願いいたします。

FeedWindサポート 石塚

FeedWind Support

Want more widgets without the FeedWind link?
Check out our plans!
https://feed.mikle.com/plans/

 

 

吉田孝

Aug 1, 16:25 JST

blogの投稿日が8/1 6:00頃なのに、feedwindでは7/31となっており、多分、グリニッジ時間で表示されてるみたいです。日本時間で表示させるにはどうしたらよいでしょうか

Feed Wind 広告はいった feedみれない!

サービスが変更されてバージョン1を使っていると広告入る。無料アカウントとってバージョン2を仕様

ひとつのメールアカウントでいくつもfeed設定できる

コード吐き出すときはウィジットタイプを張り付ける。iframeはcssがおかしく設定が反映されない。

何度かアップしても変わらない場合は、FTPがファイルを上書きできないでいる可能性あり。ファイルを消してから再アップなどすること

 

https://feed.mikle.com/

FeedWind 表記の仕方

現時点ではこれがBESTかも。

heightは記事何件分で決めてoverfrow:autoでスクロールバーする。FeedWind側のスクロールバーは設定しない。

CSS側には
overflow-y: auto;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
としてタッチデバイスでもうまくするロールできるように各々記述

例 new-nakao

<!– start feedwind code –><script type=”text/javascript”>document.write(‘\x3Cscript type=”text/javascript” src=”‘ + (‘https:’ == document.location.protocol ? ‘https://’ : ‘http://’) + ‘feed.mikle.com/js/rssmikle.js”>\x3C/script>’);</script><script type=”text/javascript”>(function() {var params = {rssmikle_url: “http://nakaoseigetsudou.jp/nakao/category/information/“,rssmikle_frame_width: “580“,rssmikle_frame_height: “0“,frame_height_by_article: “50“,rssmikle_target: “_top”,rssmikle_font: “‘メイリオ’,’MS Pゴシック’,sans-serif”,rssmikle_font_size: “14”,rssmikle_border: “off”,responsive: “on”,rssmikle_css_url: “http://cm-creation.net/yoshida/new-nakao/css/common.css“,text_align: “left”,text_align2: “left”,corner: “off”,scrollbar: “off”,autoscroll: “off”,scrolldirection: “down”,scrollstep: “3”,mcspeed: “20”,sort: “Off”,rssmikle_title: “off”,rssmikle_title_sentence: “”,rssmikle_title_link: “”,rssmikle_title_bgcolor: “#9ACD32”,rssmikle_title_color: “#FFFFFF”,rssmikle_title_bgimage: “”,rssmikle_item_bgcolor: “#f0eeec”,rssmikle_item_bgimage: “”,rssmikle_item_title_length: “55”,rssmikle_item_title_color: “#5C3F30”,rssmikle_item_border_bottom: “off”,rssmikle_item_description: “title_only”,item_link: “off”,rssmikle_item_description_length: “150”,rssmikle_item_description_color: “#666666”,rssmikle_item_date: “on“,rssmikle_timezone: “Asia/Tokyo“,datetime_format: “%Y年%m月%d日“,item_description_style: “text+tn”,item_thumbnail: “full”,item_thumbnail_selection: “auto”,article_num: “15”,rssmikle_item_podcast: “off”,keyword_inc: “”,keyword_exc: “”};feedwind_show_widget_iframe(params);})();</script><!– end feedwind code –>

ipad iphoneなどのタッチデバイスでscrollが効かない時

http://ochien.seesaa.net/article/357081256.html

-webkit-overflow-scrolling: touch がきかない場合

以前は iOS 系では「スクロールは2本指でできます」とか「iScroll を使いましょう」というのが定番でしたが、-webkit-overflow-scrolling: touch が登場してくれたおかげで、

.scroll {
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

という感じで CSS を書くだけで、1本指で、しかも慣性スクロールできるようになりました。
かなり楽な世の中になりました。

ちなみに Android でも Android 4.0.4 Safari/534.30 であれば、-webkit-overflow-scrolling: touch が動作しました。
が、scroll をつける div などの高さを設定しておかないとスクロールバーが表示されず、スクロールできませんでした。
Android でも -webkit-overflow-scrolling: touch を使いたいのにうまく動作しないという場合は、scroll させたい領域の高さを指定してみることをおすすめします

FeedWind 日付のずれ問題解決

FeedWind(Mikle Inc.)

Mar 9, 15:16

吉田孝様

FeedWindサポート石塚でございます。
お問い合わせいただいた件につきまして回答させていただきます。

以下のコードを下記のように変更いただくことで、日本の日付に正しく表示されます。
お手数をおかけいたしますが、修正をお願いできますでしょうか。

(現状)rssmikle_item_date=”ja2″

 (修正後)rssmikle_item_date=”on”

私どものチュートリアルに誤りがございました。
こちらは早急に修正させていただきます。

この度はご不便をおかけいたしまして大変申し訳ございませんでした。
引き続きFeedWindをご愛顧のほどよろしくお願いいたします。

FeedWindサポート 石塚

FeedWind Support

Like to remove the FeedWind link from your widget?
Check out FeedWind Pro!
http://feed.mikle.com/pro/

 

FeedWind(Mikle Inc.)

Mar 4, 15:02

吉田孝様

いつもFeedWindをご利用いただきまして誠にありがとうございます。
FeedWindサポート 石塚と申します。

この度は日付の表示に関しまして、大変ご迷惑をお掛けしております。
こちら事象を確認いたしました。

技術チームへ確認の上、対応を検討させていただきます。
申し訳ございませんが、いましばらくお待ちいただけますと幸いです。

何卒よろしくお願いいたします。

FeedWindFeedWindサポート 石塚

FeedWind Support

Like to remove the FeedWind link from your widget?
Check out FeedWind Pro!
http://feed.mikle.com/pro/

 

吉田孝

Mar 3, 12:46

大変便利に使用させていただいております。ありがとうございます。
日付と時間について質問させてください。現在

rssmikle_item_date: “ja2”,rssmikle_timezone: “Asia/Tokyo”,datetime_format: “%Y年%m月%d日”,

と設定して日本時間に合わせて日付と時間を表示させているのですが、時間の横に ”JST”とでます。これを非表示にできますか?もしくは時間とJSTを非表示にすることはできますか?

FAQ内の「投稿日付のフォーマットをカスタマイズする」を参照すると
(1)rssmikle_item_dateの値をjaからgl1に変更します。
【初期設定】rssmikle_item_date: “ja” → 【修正後】rssmikle_item_date: “gl1”
となっていてそれをすると時間とJST の表示はなくなりましたが、グリニッジ時間なのでしょうか、午前中の早い時間にブログで投稿した記事の日付が前日の日付になってしまいます。

すいません、解決策教えていただけないでしょうか
お忙し所、どうぞよろしくお願いいたします。

ウェブサイトのURL:http://cm-creation.net/yoshida/masahashi/index.html
RSSのURL:http://fuji-office.com/masahashi-info/masahashi-blog/feed/

FeedWind 急に表示されなくなった

サポートへ下記問い合わせ入れた。(カワラートで発生)

本日より急にwordpressからのfeedの表示がされなくなり、下記表示となりました。

There was a problem contacting your RSS feed server.http://kawarart-hara.jp/kawarart/blog/category/information/feed/

There was a problem contacting your RSS feed server.http://kawarart-hara.jp/kawarart/blog/category/blogtopic/feed/

wordpressのバージョンは4.4.2です。wordpress側のfeed自体は表示されます。
http://kawarart-hara.jp/kawarart/blog/category/information/feed/
http://kawarart-hara.jp/kawarart/blog/category/blogtopic/feed/
どのようにしたら再表示されるようになりますでしょうか?

表示されなくなったFeedWindを使用させていただいているページ
http://kawarart-hara.jp/index.html

よろしくお願いいたします。

ウェブサイトのURL:http://kawarart-hara.jp/index.html
RSSのURL:http://kawarart-hara.jp/kawarart/blog/category/information/feed/

 

サポートから返信ないが、受付メール来た後に改善されて表示された?

返信

吉田様

いつもFeedWindをご利用いただきまして誠にありがとうございます。
FeedWindサポート 石塚と申します。

お客様のサイトを拝見したところ、現在はFeedWindが表示されているようでございます。
念のためご確認いただけますでしょうか。

なお、表示されたエラーメッセージは、FeedWindクローラーがお客様のRSSにアクセスできなかった場合に表示されます。サーバが一時的に重くなっていた場合などに表示されることがございますが、多くの場合、一時的なもので数時間以内にはFeedWindの表示が通常どおり行われます。

お手数ではございますが、今後も表示されない状態が続くようでしたらご連絡をいただけますと幸いです。

その他、お困りのことがございましたらお気軽にお問い合わせください。

FeedWindサポート 石塚

FeedWind Support

Like to remove the FeedWind link from your widget?
Check out FeedWind Pro!
http://feed.mikle.com/pro/

予約投稿するとRSSの日付がPOSTと同一日でない

まさはしFPより、ブログを予約投稿したらブログ内の日付とトップページに表示される日付が一致しないと連絡あり。

wordpressのRSS投稿をみると、予約投稿した記事の日付が前の日の日付になっていた。下記サイトのようにコアファイルを修正したら治ったが、wordpressのバージョンが変わって上書きされるとまたコアファイルを再設定しなくてはならない。

※設定後ブラウザのキャッシュはクリアして確認

http://project-syatiku.com/archives/191.html

***************************************

WordPressで記事を投稿してRSSフィードを確認すると投稿時刻(pubDate)が大幅にずれている!?ってことはないですか?

おそらく投稿時間から9時間ずれていると思います。正確には9時間前か・・・な。

(なぜ9時間前なのかは中学社会の話なので省略)

これを修正しようとしてGoogle先生に聞いてみましたが、1箇所の修正ではないのでこうかなというのを自分なりにまとめておきます。

簡単にいうと投稿する時間の設定がグリニッジ標準時になっているために起こるのですが、修正するのはソース部分ですのでFTPの使用をオススメします。

念のために言っておくと、WordPressメニューの「設定」→「一般」の下部にある「タイムゾーン」とは別物です(もちろん日本なら「東京」)。

 

各ファイルの編集

1.date_default_timezone_set(‘UTC’)の変更

まずは/wp-settings.phpを編集します。変更するのは一点だけ。

変更前

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

日本時間で設定したいのでもちろん「Asia/Tokyo」に変更。ここは「UTC+9」にしても問題ないようですがやめておきました。

2.RSSフィード作成ファイルを変更

次に/wp-includes/feed-rss2.phpを変更します。実際にRSSフィードを作成しているファイルはこちらです。

(コメントのフィードも使用する場合は/wp-includes/feed-rss2-comments.phpも同様に変更してください。)

変更前①

<lastBuildDate><?php echomysql2date('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>

 

 

まとめ

非常にざっくりとまとめると

  • /wp-settings.php内のdate_default_timezone_setを「Asia/Tokyo」に設定
  • /wp-includes/feed-rss2.php内の「+0000」が含まれる行を2箇所ずつ編集する

だけです。

これでRSSフィードの投稿時間は日本時間に訂正されているはずです。

 

 

 

WordPressのRSSフィード時間がずれたり、WEBマスターでエラーになる場合

 

wp-includes/feed-rss2.php

2
3
4
5
6
<lastBuildDate><?php
$date = get_lastpostmodified();
echo $date ? mysql2date( ‘D, d M Y H:i:s +0900, $date, false ) : date( ‘D, d M Y H:i:s +0900’ );
?></lastBuildDate>
 
<pubDate><?php echo mysql2date(‘D, d M Y H:i:s +0900, get_post_time(‘Y-m-d H:i:s’, false), false); ?></pubDate>

 

 

wp-includes/feed-rss2-comments.php

 

<lastBuildDate><?php
$date = get_lastcommentmodified();
echo $date ? mysql2date( ‘r’, $date ) : date( ‘r’ );
?></lastBuildDate>
 
 
<pubDate><?php echo mysql2date(‘D, d M Y H:i:s +0900, get_comment_time(‘Y-m-d H:i:s’, false, false), false); ?></pubDate>

Feed Wind に切り替え! Google Feed Apiが廃止された!

Google Feed Apiが突然廃止となり、feedが表示されなくなった。替わりにFeed Windというジェネレーターでjavascriptを作りhtmlへ張り付けた。

http://blog-sierrarei.com/blog/2015/12/googlefeedapi-feedwind/

ちなみに、どうやってもfeed2jsにfeedされない野末建築のRSSもこれなら表示される。

入力設定時、widthはピクセル実数で入れなくてはならないのだが、このままだと、レスポンシブにしたときに、幅が広がらずスクロールバーが中途半端な箇所にでる。これを解消するために、下記CSSを記述すると回避できる。

.jspContainer {
width:100%;
}

FEED WIND  http://feed.mikle.com/ja/

 

投稿日付に時刻を入れない方法

http://feed.mikle.com/ja/support/strftime/

ジェネレーターで作ったコードの下記部分替える。

(1)rssmikle_item_dateの値をjaからgl1に変更します。
【初期設定】rssmikle_item_date: “ja” →
【修正後】rssmikle_item_date: “gl1”

(2)次に日付のフォーマットを下記のように記載します。
【初期設定】datetime_format: “” →
【修正後】datetime_format: “%Y年%m月%d日”

 

上の例ですと、時刻が非表示となり「2014年11月05日」と表示されるようになります。

 

CSSのカスタマイズ方法

http://feed.mikle.com/ja/support/using-costom-css-with-feedwind/

 

カスタマイズには外部CSSを作る必要がある。