Home » Archive

Articles in the プラグイン Category


PHP, WordPress, プラグイン, プログラミング »

[ 2010年09月24日 | No Comment | 2 Trackback ]
WordPressのプラグインLifestreamでのTwitterの取り込みについて

しばらく前からWordPressのプラグイン「Lifestream」でTwitterの取り込みに不具合が発生していて、上にあるメニューの「LIFE STREAM」のページにTwitterのつぶやきが表示されなくなっていました。これはTwitter側の認証方式が変わったせいなので、きっとすぐに「Lifestream」の方で対応してくれると思っていたけど、これがなかなか対応してくれません。じゃあ、仕方ないということで対応方法を考えてみました。

PHP, WordPress, プラグイン, プログラミング »

[ 2010年06月18日 | No Comment | 1 Trackback ]
WordPressのプラグイン「Simple Tags 1.8」の不具合解消

先程、WordPressのプラグイン「Simple Tags」を1.8にバージョンアップしたら不具合が発生していました。
恐らく、WordPressの3.0に対応するための不具合だと思いますが、一応「Simple Tags 1.8」は2.8と2.9にも対応しているとのことなので、単純なミスだと思います。なので、すぐに対応してくれると思います。しかし、次のバージョンアップまでエラー表示を出しているわけにもいかないので、取り急ぎ応急処置ということで対応しました。

PHP, WordPress, プラグイン, プログラミング »

[ 2010年04月27日 | No Comment | 0 Trackback ]
「最近の投稿」一覧に新着アイコンを表示する

このサイトをリニューアルして3ヶ月ちょっと経ちまして、たくさんの人に見ていただくようになりました。それに伴ないブックマークをして頂き定期的に閲覧してくださる方も増えてきたように思います。

このサイトの更新目標としては10件/月を考えていますが、その頻度は結構偏っていたりもします。なので、ブックマークから来ていただいた方にすぐに新着が確認出来るように、右側のカラムにある「最近の投稿」一覧に新着アイコンを追加しました。このアイコンは記事を追加してから3日間表示されます。

iPod touch, WordPress, プラグイン, プログラミング »

[ 2010年04月02日 | No Comment | 0 Trackback ]
このサイト(Blueな雑日記)をiPhone/iPod touchに対応しました

このサイトをiPhone/iPod touch(以下、iPhone)に対応しました! って言っても実はリニューアル版の公開前には一応は対応していたんです。しかし、デフォルトのままの設定でしたので、一部レイアウトの崩れ等の不具合が発生していました。でも、まぁ、iPhoneでアクセスする人なんいないだろう。なんて思っていましたが、ふとアクセスログを見るとWinows、Macに続いてiPhoneからのアクセスがあるのに気づきました。もっとも、その割合はWindowsが86.25%、Macが8.72%でiPhoneからは僅か3.01%だけなんですが、見てくれる人がいるのならば、なるべくちゃんと見てもらいたいので一念発起してちゃんと表示するようにしました。

WordPress, プラグイン, プログラミング »

[ 2010年01月14日 | No Comment | 3 Trackback ]

1月9日に[WordPressのプラグインLifestreamの時刻表示の不具合について]を記述したが、今日バージョン 0.99.9.6にアップデートしたら再び、表示がおかしくなった。
当たり前だが、前回変更した箇所は今回のバックアップで全て元に戻ってしまったわけだが、どうやら多少不具合の改善が行われているようだが、やっぱり今回も投稿時間の表示が変になっている。
というわけで、今回も怪しい箇所を変更する。
まず、タイムゾーンの設定を日本に設定してやる。
date_default_timezone_set(‘Asia/Tokyo’);

/wp-content/plugins/lifestream/lifestream.php
の上部に追加する。
今回はこれだけで、正常に表示されるようになった。
やっぱりタイムラインの日別けがおかしいので、追記修正した。(2010年01月17日)
/wp-content/plugins/lifestream/inc/core.php
の97行目の
return $this->date + LIFESTREAM_DATE_OFFSET;

return $this->date;
に変更した。

WordPress, プラグイン, プログラミング »

[ 2010年01月12日 | No Comment | 0 Trackback ]

どうもWordPressの表示が遅くなったような気がするので、プラグインの使いすぎかと思い、一度全てのプラグインを停止してみた。やはりプラグインを全て停止するとサクサクと表示してくれる。では、どのプラグインがネックになっているのかと、ひとつづつオンにしてみて動作をチェックしてみた。
ある程度は想像していたけど、やっぱり問題はただの入れすぎだった。何かひとつのプラグインに問題があるわけではなく、ひとつづつオンにしていくと、その度にすこーしづつレスポンスが悪くなってくる。仮にひとつのプラグインを入れる度に0.1秒表示が遅れるとしたら10個のプラグインを入れれば1秒遅くなるというわけだ。
そうだよなー、ひとつのプラグインに問題があれば、その時に気が付くよな・・・

とりあえず今日現在、入っているプラグインを羅列(標準のプラグインは除く)

AmazonLink(バージョン 2.0.0 beta2)
Dagon Design Sitemap Generator(バージョン 3.17)
FollowMe(バージョン 2.0.4)
Ktai Style(バージョン 1.81)
Lifestream(バージョン 0.99.9.5)
WP-Cumulus(バージョン 1.23)
WP-PageNavi(バージョン 2.50)
WP lightbox 2(バージョン 0.6.3)
WP Super Cache(バージョン 0.9.8)
WPtouch iPhone Theme(バージョン 1.9.7.6)

WordPress(バージョン 2.9.1)

WordPress, プラグイン, プログラミング »

[ 2010年01月09日 | No Comment | 3 Trackback ]

追記(2010年1月14日):Lifestreamのバージョン を0.99.9.6にアップデートしたら少し挙動が変わったため、念のためこちらも参照して下さい。→[WordPressのプラグインLifestreamの時刻表示の不具合について(改)]
WordPressのプラグインでTwitterのつぶやきを表示するプラグインを探していたら「Lifestream」というプラグインが見つかった。TwitterだけではなくFlickr等も時系列で表示してくれる。
以前は「Twitter Tools」を使用していた。こっちはTwitterのつぶやきを記事として投稿してくれるんだけど、他のブログ記事と混じったり、同じつぶやきを何度も投稿したりとイマイチ使い勝手が良くなかったので、「Lifestream」に乗り換えることにした。
ただ、幾つか問題があり、タイムラインの投稿時間の表示がおかしい。厳密に言うとマイナス9時間で表示されているのだ。午前4時30分につぶやいたのに表示は前日の午後7時30分につぶやいたことになっている。まぁ、時系列には並んでいるから気にしなければいいじゃんっ、て思うもどうも気になる。あとはタイムラインの日別けに不具合がある。こっちも今日つぶやいたのに昨日つぶやいたことになってしまう問題だ。
というわけで、調べてみた。
まずタイムラインの日別けの不具合(今日投稿したものが昨日投稿したことになっている)が出ている。というのが幾つか見つかった。それは、
wp-content/plugins/lifestream/inc/core.php
の97行目の
return $this->date + LIFESTREAM_DATE_OFFSET;

return $this->date;
に書き換える。これで日分けの不具合は解消されたけど、投稿時間の表示が直っていない。
これも、調べてみるが同じ問題が出ている人はいないようで、結局自分で解決しなくちゃならなくなった。
面倒だが仕方ない・・・。
まず、表示がマイナス9時間になっているってことは単純にタイムゾーンの設定ミスって事が考えられる。っていうかそれ以外考えられないわけだが、とりあえずWordPressの設定を確認。これは問題なし。次にもしやと思い、Twitter側の設定を確認。これも問題なし。ということはあとはプラグイン側の問題であろうと考える。
セオリーどおり、表示部分のソースを確認する。
/wp-content/plugins/lifestream/themes/default/main.inc.php
のファイルの該当部分の変数($event->timestamp)を出力してみる。タイムスタンプが入っていたので、その変数のセットした直後に、32400を足してみる。
$event->timestamp += 32400;
すると、やったー!問題なく正しい時間を表示した。
でも、<abbr>タグのtitle要素での表示が変だ、本来は
<abbr title=”2010-01-09T03:57:27+09:00″>3:57am</abbr>
となるはずが、
<abbr title=”2010-01-09T03:57:27+00:00″>3:57am</abbr>
となってしまう、+09:00と+00:00の違いだ。気にしない人は気にしないかもしれないが、元プログラマーとしてはこのタイムゾーンの違いは許せない。というか気持ち悪い。となると問題は”2010-01-09T03:57:27+00:00″を吐き出している部分だ。そのソース部分を見てみると
<?php echo date(“c”, $event->timestamp); ?>
とある。
PHPのdate関数をチェックしてみる。
date(“c”, $event->timestamp);の1番目のパラメータの’c’があやしい。これが何をしているかと言うと、タイムスタンプから”ISO 8601 日付”を出力している。つまり”2010-01-09T03:57:27+00:00″を戻しているのだ。ってことはいくらタイムスタンプに9時間分を足しても”+00:00″の部分は変わるはずは無い。ということはそもそもタイムゾーンの設定が間違ってるってこと?
次ははタイムゾーンを設定しているところを見つけて修正してみる。
/wp-content/plugins/lifestream/inc/core.php
の2198行目付近に
date_default_timezone_set(‘UTC’);
とあるので、これを
date_default_timezone_set(‘Asia/Tokyo’);
と変更してみる・・・。
変化なし。
と思ったら、ダッシュボードのLifestreamの設定画面の日付は直った。でもサイト側の表示は変わらない。
え~い!こうなったらトップの部分で強制的にタイムゾーンの設定をしてしまえということで、
/wp-content/plugins/lifestream/lifestream.php
のなるべく上の方(自分はコメントのすぐ下)に
date_default_timezone_set(‘Asia/Tokyo’);
を挿入。これでどうだ!
やったー!ちゃんと表示した!
<abbr title=”2010-01-09T03:57:27+09:00″>3:57am</abbr>
“+09:00″もちゃんと出ている。
ほんとにこれでいいのか分からないけど、まぁ、ちゃんと表示されているからこれで良しとしよう。
「今回やったことのまとめ」
●タイムラインの日別けの不具合の修正
/wp-content/plugins/lifestream/inc/core.php
の97行目の
return $this->date + LIFESTREAM_DATE_OFFSET;

return $this->date;
に変更。
●WordPressのダッシュボードのLifestreamの設定画面の時間表示の不具合の修正
/wp-content/plugins/lifestream/inc/core.php
の2198行目付近に
date_default_timezone_set(‘UTC’);
とあるので、これを
date_default_timezone_set(‘Asia/Tokyo’);
に変更。
●サイト側の時間表示の不具合の修正
/wp-content/plugins/lifestream/lifestream.php
のなるべく上の方(自分はコメントのすぐ下)に
date_default_timezone_set(‘Asia/Tokyo’);
を挿入。
作業環境
WordPress(2.9.1)
Lifestream(0.99.9.5)
PHP(5.2.5)