プラグインタグの投稿

2008-07-23
晴れ

阪神タイガース応援ウィジェット Tigers 2008 バージョン 0.8.0

ゆりこ による 20:25:50 の投稿
カテゴリー: WordPressハック, 阪神タイガース
タグ: ,

マジック番号ロゴ一覧画像

われらが阪神タイガースに優勝マジック46が点灯しました!! 今シーズンのリーグ優勝を応援すべく、WordPress ウェブログに現在のマジックナンバーを表示するウィジェット Tigers 2008 を作成しました。

  • 現在のマジックナンバーは手動設定です。自動計算や自動取得はできません。
  • 番号のロゴは数字ごとに違います。
ダウンロード: tigers080.tar.bz2 (338.0KB)

以前から予告していた、優勝マジック表示ウィジェットをリリースします。配布形態としてはプラグインですが、動作としてはウィジェットになります。このため、お使いのテーマで「タイガース」ウィジェットの追加が必要です。

カウントダウンの数字ロゴが毎回異なっているのは、わたしの趣味です ;-) このため、配布ファイルも 300KB オーバーになっています。全部同じデザインの方がいい、という人もおられるかもしれませんが、ご了承ください。ロゴデザインは、「Illustrator10分間ロゴデザイン」にある作例をほぼ流用しています。ちょっと古い本ですが、テクニック自体はそのまま使えますね。

マジックナンバーの自動計算は、タイガースと他チームそれぞれの残り試合数を取得する方法が困難なので、実現できていません。阪神タイガース公式サイトにマジックナンバーが掲載されるならば、それをひっぱってくる (自動取得) する手はあるかと思います。

数字ロゴ自体はタイガースと何の関係もないため、「マジック: 0」の画像を差し替えればパ・リーグでも使用可能です。しかし、パ・リーグの優勝マジックは9月まで点灯しそうにないですが ;-)

[追記] 本日、タイガースは負けましたが、ドラゴンズも負けたためマジックは 45 になったようです。ジャイアンツに自力優勝が復活した (==マジック消滅) したのではないかとビビりましたよ……。

[さらに追記] マジックナンバーの計算には、タイガースと他球団それぞれの残り試合数が必要と思っていましたが、それはマジック点灯するかどうかの判断に必要なのであって、点灯することが確実であれば不要でした。つまり、勝敗表さえあれば計算可能です。ということで、タイガース公式サイトの順位表日本野球機構のセ・リーグ勝敗表Yahoo! ニュースの順位表あたりを読み取って自動計算させることを考えてみます。ただし、中日は引き分けが4試合と多いので、単純に勝ち数だけの計算ではうまくいかないようです。通常、「対象チームが残り全勝した場合の勝ち数より1つ多く勝てれば優勝できる」前提で計算しますが、今年はその前提が崩れています。ドラゴンズが残り全勝すると99勝ですが、分母となる試合数は140なので、勝率は 0.707 です。タイガースは143試合ある (引き分け1) なので、同じ勝率ならば 101.1 勝なので、102勝しないと上回れません。ここから現在の勝ち数57を引くと「45」となり、マジック45と算出できるわけです。巨人 (読売) を対象とすると、残り全勝して101勝、試合数142 (引き分け2) なので勝率は 0.711 です。あれ? ドラゴンズを上回ってしまいました。143試合換算で 101.7 勝なので、いずれにせよタイガースは102勝すれば優勝できます (==マジック45)。問題は、ジャイアンツまたはドラゴンズが全勝してもタイガースが45勝できるかどうかですが、これには直接対決の試合数が必要、というわけです。

2008-07-21
晴れ

WordPress 2.6 対応続き

なんとか Ktai StyleKtai Entry の WordPress 2.6 対応強化 (wp-content ディレクトリーの移設対応) を行ないました。Lightweight Google Maps (LWGM) および Weather Journal も同様の改良を行なっていますが、他に改善したい点があるため、リリースはもう少しお待ちください。

LWGM の方は、固定ページに登録した位置情報が大きい地図ページに出ないという問題・同じ地点に複数マーカーがつくと下にあるマーカーがクリックできない問題に手をつけようとしています。Weather Journal の方は、WordPress 2.5 以降で天気を未設定のまま投稿しようとすると、WordPress の JavaScript の所為で、直前に投稿した他の日の天気が入ってしまう問題が見つかっています。そういう挙動をキャンセルするよう JavaScript を追加する必要がありますが、どう実装すればいいか悩んでいるところです。

また、今回サボりましたが、管理機構の SSL 対応により、クッキーの扱いが変わったり、プラグインのありかを示す URL を取得する新しい API が用意されたりしたので、これを使うようプラグインを修正することも考えています。特に、Ktai Style は管理機能があるため対応は必須です。しかし、日本の携帯電話は、SSL でクッキーを使うときの挙動があやしいため、うまく実装できるかどうかは不安です……。

WordPress 2.6 対応とは違いますが、Ktai Location で「同一地点であるかの判定」が厳しすぎることが分かりました。7月19日に京都駅についたレポートで、本文に埋め込まれた GPS情報URL による位置情報と、写真の EXIF に埋め込まれた位置情報の両方の地図が出てしまっています。Ktai Location が抽出した位置情報が微妙に異なっていたわけですが、これは au 端末が写真の位置情報をもとに作った GPS情報URL の精度が悪いのか、Ktai Location の内部処理が悪くて計算結果が間違っているのか、要調査ですね。

[追記] LWGM ですが、バージョン 1.40 のベータ版を出しました。

WordPress メール投稿プラグイン Ktai Entry 0.8.6 リリース

ゆりこ による 17:48:56 の投稿
カテゴリー: WordPressハック
タグ: , , , , ,

WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.6 をリリースいたします。変更点は以下の通りです。

  • 外部メールボックスの読み出しを「しない」に設定したとき、または、読み出し時間間隔を経過していない場合は、外部メールボックスを読み出すトリガーとなるスタイルシート表示を行わないようにしました。
  • WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。ktai_entry/wp-load.php の書き換えが必要です。
  • 本文が同じ内容を投稿しようとするときの重複チェックを強化しました。
  • 添付画像がサーバーに保存できなかったときのエラー処理を改善しました。
  • プラグインを停止したとき、POP3 サーバーのパスワードのみ初期化するようにしました。(従来はすべての設定を初期化していました)
  • 次の独自フィルターフックを追加しました: post_category, post_keywords, image_rotate, post_name, post_date
ダウンロード: ktai_entry086.tar.bz2 (78.3 KB)

今回は WordPress 2.6 対応の強化および、独自フィルターフックの追加です。WordPress 2.6 の新機能のうち、管理機構の SSL 化には対応していません (外部メールボックスを「すぐ読み出す」などが動かなさそう)。独自フィルターフックは、「VGA 以上の画像でも強制的に縦向きにしたい」という相談があったため、フィルター関数を書けば可能になるようにしたものです。ただし、このフィルター関数はテストしてないので動かなかったらごめんなさい ;-)

携帯対応プラグイン Ktai Style バージョン 1.43 リリース

Ktai Style サンプル画面

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」の安定版バージョン 1.43 をリリースいたしました。1.42 からの変更点は次の通りです。

  • span 要素, div 要素の stye 属性 (ビジュアルエディタで付けた文字色などが使用) は携帯出力で削除せずそのまま出力するようにしました。
  • WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。ktai_style/wp-load.php の書き換えが必要です。
  • Default テーマなど、本文を途中で切る処理 (テンプレートタグ ks_get_content() で可能) が XHTML 文法違反になることがある事例を修正しました。
  • 複数プラグインをまとめて使用・停止したとき、携帯ログイン用セッション保存テーブルの生成や削除に失敗する不具合を修正しました。また、WordPress 2.1 以前では管理機能が使えないため、セッション保存テーブルを作成しないようにしました。
  • ktai_style フォルダー/ディレクトリーの名前を変更している場合、プラグインを使用停止したとき携帯ログイン用セッション保存テーブルが削除されない不具合を修正しました。
  • is_ktai() 関数の引数に ‘flat_rate’ を与える定額パケット通信に対応しているかどうかを返す機能が正常に働いていなかった不具合を修正しました。
ダウンロード: ktai_style143.tar.bz2 (241.9 KB)

今回は WordPress 2.6 での wp-content ディレクトリー変更への対応およびバグ修正です。WordPress 2.6 の全機能には対応しておらず、管理機構の SSL 化などは未対応です。ご了承ください。

2008-07-16
晴れ

阪神タイガース優勝マジック点灯せず

ゆりこ による 15:42:28 の投稿
カテゴリー: WordPressハック, 阪神タイガース
タグ: ,

昨日、阪神タイガースがスワローズに勝てば優勝マジックが点灯するはずだったのですが、残念ながら 0-6 で負けてしまいました。マジック点灯すれば、2005年みたいに当サイトでカウントダウンをしようと思っていましたが、まだ準備ができてないので、マジック点灯が先になったのは渡りに船でした ;-)

2005年は、手書き HTML でやっていましたが、今回はプラグインまたはウィジェットを作ろうと思っています。本当は、阪神タイガース公式サイトにアクセスして、成績から優勝マジックを自動計算したいところですが、各チームごとの残り試合数を「試合日程」から算出しなければならず、なかなか骨が折れます。ということで、とりあえずはマジックナンバーを手動入力させる方向で考えています。

今回は番号が50個ぐらい必要なので、数字ロゴは大量生産かなーー。

2008-07-15
晴れ

フィードから del 要素を除去するプラグイン Delete Del

ゆりこ による 14:13:05 の投稿
カテゴリー: WordPressハック
タグ: ,

フィードから del 要素を除去するプラグイン Delete Del というものを作ってみました。当サイトでは、記述の修正に del 要素を多用するんですが、RSS や ATOM では XHTML タグだけ削除されてしまい、意味不明になってしまいます。del 要素の意味を考えると、フィードでは del 要素を削除する方が自然です。

マークアップ
この業者「あどあど」<del>は未だに同じことを続けているようです……</del>が手掛けたサイトでまだ URLGATE オンのサイトがありました。
従来のフィード
この業者「あどあど」は未だに同じことを続けているようです……が手掛けたサイトでまだ URLGATE オンのサイトがありました。
改良したフィード
この業者「あどあど」が手掛けたサイトでまだ URLGATE オンのサイトがありました。

独自ウェブログシステムだった時代は、そういう動作をしていましたが、WordPress に移行してから、その挙動がなくなっていました。なお、Ktai Style では既定の動作となっています。

ダウンロード: delete_del090.zip (1KB)

圧縮ファイルを展開して、PHP ファイルをプラグインディレクトリーに入れて、有効化するだけで OK です。なお、WP-Multibyte-Patch が提供する excerpt 系関数を有効にしている場合は、del 要素の削除が効きません。これは WordPress コアの問題のため、改善はほぼ不可能です。

使うべきでないプラグイン12選

ゆりこ による 00:19:06 の投稿
カテゴリー: WordPressハック
タグ: , , ,

トラックバック企画「WP2.5に入れるプラグイン10選」ですが、中間集計が始まったようなので、「使うべきでないプラグイン10選」を挙げてみたいと思います ;-) (追記: ヤバいものが増えてしまい、12選になりました) Masayan さんはこういうリストアップを好まないと思いますが、「やばいものは避けよう」という注意喚起としてあえて出してみます。もし、自身で使っているプラグインが該当していると不快になるかもしれませんが、セキュリティー向上のための情報ですので、気を悪くされないようにお願いします。

危険なプラグイン

以下のプラグインは、セキュリティーホールがある/ありそうなため、即座に使用停止した方がいいものです。

WP MOBILE
デジタルスタジオ製のモバイル対応プラグインです。当サイトでは度々危険性を告知しています。当初発見された脆弱性は塞がれていますが、まだ突破口があるのでないかと思われます。また、WordPress 2.3 以降には未対応なこと、IE, Firefox, Opera 以外の PC 向けブラウザー (Safari など) では閲覧できない、という重大な問題があります。(Safari ユーザーお断りサイトができてしまう ;-)
Plug ‘n’ Play Google Map
Lightweight Google Maps の前身である Google 地図対応プラグインです。XSS 脆弱性があること (作者に報告しても梨のつぶて)、位置情報が多くなると PHP およびブラウザーのメモリエラーになること (16MB だと 1000個が厳しい) などの問題があります。
まだベータ版なので、ここに挙げるのはかわいそうなのですが、2回も脆弱性を指摘したのにまだ同じ箇所が直ってないのは残念です。今後修正版が出るでしょうが、多くのテスターによる確認が済むまで使わない方が賢明です ;-) (作者がんばれ!!)

新しい WordPress に対応していないもの

以下のプラグインは最近の WordPress に対応していないものです。また、作者が開発を中止した/新バージョンが今後出ないと思われるものです。コードを自分でいじれる人ならば、改造して使ってもいいですが、プログラミングの知識がないならば、避ける方が無難です。

SOMY Mobile Gate
SOMY さんのメール投稿ツールです (厳密にはプラグインではありません)。残念ながら 2006 年秋頃に開発を中止されてしまいました。そのため、WordPress 2.3 以降の新しいカテゴリーテーブルには未対応となっています。後継の MobG を使いましょう。こちらはメンテされています。
SOMY SpamBlock JP
SOMY さんのスパム対策プラグインです。こちらも 2005年3月以降メンテナンスされていません。トラックバック・ピンバックの識別方法が古く、すべてコメントとして処理してしまっています。また、ブロック時の表示が文字化けしやすいこと (Shift_JIS 表示かつ HTTP ヘッダで Content-type 未指定)、コメント/トラックバックを必ずデータベースに一度保存させていること、どうにかがんばれば SQL インジェクションを起こせるかもしれないこと、将来 $tablecomments が廃止されたら動かないこと、などいくつか問題などがあります。
WordPress 2.0 以前 (2.0 含む) でセキュリティー欠陥があることが判明しました。WordPress 2.0 以前ではインストール禁止です。
SOMY IMG Collect
SOMY Logined Publish
SOMY さんのギャラリープラグインと、ログインユーザー判別プラグインです。どちらも、設計が古く将来の Wordpress で動くかどうか不明です。なんとか WordPress 2.6 でも動きそうですが……。なお、WordPress 2.0 以前 (2.0 含む) でセキュリティー欠陥があることが判明したため、インストール禁止です。

アダルト広告が出てしまうもの

以下のプラグインは、取り扱い注意な機能を含むため、万人にはおすすめできないものです。設定を変更するか、「ポルノ広告表示機能」を了承の上使うのならば問題ありません。

Mobile Eye+
まおうさんの携帯対応プラグインです。Otsukare さん作の Mobile Eye がベースとなっていますが、大幅に変更されています。これも、当サイトで口が酸っぱくなるほど書いている通り、「画像や外部リンクをクリックしたときの URLGATE 画面には、ポルノ・出会い系広告が出る外部サービスがリストされる」という問題があります。しかも、この機能はデフォルトで ON にかかわらず、ドキュメントや配布サイトには記述されていません。このため、Mobile Eye+ をデフォルト設定で使うと、「アダルト広告に繋がる携帯サイト」ができあがってしまいます。
URLGATE 機能がドキュメント化されているならば、「ポルノ広告が出てもいい」というユーザーだけが ON にすればいいのですが、そうでないため、取扱注意なプラグインとなっています。PHP5 未対応のため Ktai Style が使えない、という人は、ちょっと機能が低いですが「MobilePress」も検討してみてください (ただし、short_open_tag が off だと動きません)。

お行儀が悪いもの

以下のプラグインは実装が凶悪で、他のプラグインに悪影響を出すものです。

Events Calendar
イベント表示プラグインです。標準のカレンダーの代替を提供します。しかし、プラグインの初期化段階で wp-includes/pluggable.php を require してしまうため、「プラグインが先に関数宣言することでオーバーライドできる」という pluggable.php の仕掛けを台無しにしてしまっています。WordPress コアの動作をまるで理解していない人が作っているわけで、これだと Extends から削除すべきぐらい酷いものです ;-) Ktai Style とコンフリクトするから敵対視しているわけではありません……。
All in One SEO Pack
人気のある SEO 増強プラグインです。しかし、タイトル書き換え機能が ob_start() を使うという凶悪な実装で、Ktai Style や Mobile Eye+ では title 要素が化けます (現在の Ktai Style では対策ずみ)。お行儀が悪い、という意味ではトラブルメーカーなわけで、初心者の方は避けた方が無難です。

セキュリティーを落とすもの

WordPress のセキュリティーを下げてしまうプラグインです。

Exec-PHP
runPHP
どちらも、投稿に PHP コードを記述できるようにするプラグインです。テーマの改造では不可能な動的なサイトを作ることができます。しかし、複数の投稿者がいる場合、ユーザー登録が自由なサイトではセキュリティーがかなり落ちますので、使ってはなりません。ページテンプレートや自作関数/自作プラグイン/自作ショートコードを作れば、これらのプラグインに頼らなくても済みます。逆に言うと、これらのプラグインを使うということは、まだ初心者の域であると言えるかもしれません ;-)

閲覧者が困るもの

他人のプラグインばかり非難していると「何様やねん」と言われそうなので、自作のものをオチとして出しておきましょう。

Ktai Style Shuffle (PC 向けバージョン)
Ktai Style のエイプリルフール版です。なんと、アクセスの度に表示される投稿が変化するという「ランダム表示」を強要します。閲覧者が困惑すること必死です ;-) 強烈なジョークプラグインですので、真面目なサイトで使ってはいけません。

なお、ここに挙げられていないものが「安全」というわけではありません。プラグインは便利ではありますが、PHP コードそのものですので、すべてセキュリティーの脅威となり得ます。プラグイン紹介サイトでは、コードの確認をしていない場合もありますので、「人気サイトで紹介されているから大丈夫だろう」と思わないようにしてください。

[追記] もちろん、上記のリスクを承知の上で、ここに挙げたプラグインを使うのは自由です。また、問題点がさほど重大でない場合もありますので (設定で回避できる etc)、一概に全部がダメ、というわけではありません。本当にダメなのは、一番最初の2つだけです。

[さらに追記 2008-07-15 09:20] デッドリンクチェッカーは、作者さんが根本的な改良をされたようなので、削除しました。そのかわり、Events Calendar を追加しました。

[もっと追記 2008-07-17 01:15] SOMY プラグインの欠陥を追記して、他のプラグイン2つも追加しました。

2008-07-13
晴れ

みなさんのプラグイン10選

ゆりこ による 20:50:01 の投稿
カテゴリー: WordPressハック
タグ:

トラックバック企画「WP2.5に入れるプラグイン10選」は順調に反応が増えているようです。わたしも投稿していますが、他の人の10選を見ると、なかなか興味深いものがあります。特に、常用しているプラグインが多い人の場合、「どれを落として何を残すか」という選択において、重視しているポイントが見えてくるんですよね。

注目すべきは、Akismet 以外のスパム対策プラグインも利用されている人がほとんどという点でしょう。Akismet はスパム対策という点では最強の部類に属するのですが、残念ながら多言語環境において誤認識が多いため、日本語ウェブログでは「Akismet だけに頼る」というのは困難なものがあります。

また、Ktai Style, Ktai Entry を初めとする携帯関連プラグインも利用者が多いです。さすがに Masayan さんところにトラックバックする方は圧倒的に Ktai Style の利用者が多いですが、いくつか Mobile Eye+ の方がおられます。サーバーが PHP5 未対応というかわいそうな人なのでしょう ;-) メール投稿系では MobG が出ていませんが、これは「プラグインではなくアドオンツール」という形態なので、リストアップされていないのだと思われます。

その他は、アクセス解析系が多く、カテゴリーやタグいじる系、画像系なども人気がありますね。runPHP, ExecPHP 系も利用者が多いのですが、不具合やセキュリティーホールの元になりますし、これに頼るのは実はスキルが低い証拠なので、早い目にやめることをおすすめします。WordPress に手慣れた人ならページテンプレートを作ったり、テーマの functions.php に自作関数を入れるか自作プラグインを作るでしょう。WordPress 2.5 以降なら自作ショートコードという手もあります。(追記: 意外とWP-PageNavi は利用者が少ないですね。見た目の使い勝手は上がるのですが、コードがいまいちで DB クエリーが増加するので、嫌がっている人が多いのかもしれません。←WordPress 2.5 対応版は DB クエリーは増えません)

わたしの場合、使っているプラグインがもともと少なく、自作ものは優先度が高いものが多いため、必然的にそれが残ります。他人のプラグインで落選したものは「Simple Tags」で、これは普段はオフにしていて、過去記事に大量にタグ付けするときだけ有効にする、という使い方をしているためです。

[追記 2008-07-15] トラバ受付が7月末まで延長され、中間集計が出ていました。基本的にはかなりバラけていますが、Google XML Sitemaps, Ktai Style, Simple Tags, wp-tegaki は5票以上獲得と人気があります。「使うべきでないプラグイン」を挙げられた方もおられますが、利便性とリスクを天秤にかけての判断なのでしょう。あくまで「自分にとって必要なプラグイン10選」であって、「おすすめプラグイン10選」じゃないので、それはそれでいいですよね。これが「おすすめプラグイン10選」であるならば、「使うべきでない……」をリストアップされると難儀なわけですが……。

2008-07-12
晴れ

Google Maps プラグイン Lightweight Google Maps 1.30 リリース

ゆりこ による 08:42:16 の投稿
カテゴリー: WordPressハック
タグ: , , ,

Lightweight Google Maps 見本画像

WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.30 をリリースします。変更点は以下の通りです。

  • 固定ページの地図で、キーワードタグでの絞り込みに対応しました (WordPress 2.3 以降が必要)。
  • 携帯電話向け地図を出す機能は Ktai Style 1.42 以降が必要となりました (Ktai Style 1.41 以前では地図が出ません)。
  • WordPress 2.6 ベータ版への対応を盛り込みました。
  • 各エントリーの地図を「固定ページへのリンク」にしている場合、「この位置を大きい地図で見る」リンクが出力されない不具合を修正しました (バージョン 1.20 で発生した不具合)。
ダウンロード: lw-google-maps130.tar.bz2 (23.9KB)

今回は、Ktai Style バージョン 1.41 で地図が出なくなった問題の対応、WordPress 2.6 ベータ版への対応がメインです。おまけとしてキーワードタグでの絞り込みにも対応しています。

[追記] 固定ページの大きい地図で出てくるマーカーは、投稿に付与した Lat_Long フィールドのものに限られてしまうという制約はそのままです。(地図表示以外の) 固定ページで Lat_Long フィールドを入れた場合、そのページで小さい地図は出ますが、地図ページではその地点のマーカーが出てきません。これはちょっと不可思議な動作になってしまうので、今後のバージョンでは直す予定です。

2008-07-10
晴れ

携帯対応プラグイン Ktai Style バージョン 1.42 リリース

Ktai Style サンプル画面

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」の安定版バージョン 1.42 をリリースいたしました。1.41 からの変更点は次の通りです。

  • a 要素に href 属性がない場合はリンクとみなさないようにしました (従来は <a name=”foo”></a> のような場合も外部リンクとして中継ページを出してしまっていました)。
  • リンク先に Mobile Link Discovery があるかの確認で、モバイル版ページの URL を確実にできるよう改善しました。(Ktai Style 1.41 でも抽出できない場合があったので、さらに改良)
  • is_ktai() 関数の引数に ‘flat_rate’ を与えると、定額パケット通信に対応しているかどうかを返すようにしました (ks_is_flat_rate() と同じ返り値)。
  • wp-content/ktai-themes/ ディレクトリーに格納したテーマを設定できない不具合を修正しました。(Ktai Style 1.41 で発生したバグ)
  • 画像のファイル名が thumbnail.jpg や 160×120.png のような形式 *ではない* 場合 (image.jpg, sample.gif など)、携帯電話向けサムネール (最大96ピクセル) を作らずそのまま表示していた不具合を改善しました (Ktai Style 1.41 で発生したバグ)。
  • コメント時にログインしたとき、コメント投稿後、「cannot redeclare class…」のエラー (クラスの重複定義エラー) が出ることがある不具合を修正しました。
ダウンロード: ktai_style142.tar.bz2 (240.6 KB)
2008-07-11 07:25 ごろ、ks_is_flat_rate() の不具合を直したアーカイブに差し替えました。

バージョン 1.43 をリリースしました。

今回は 1.41 で発生したエンバグの修正がメインです。お手数ですが、更新して頂けると幸いです。

[追記] ks_is_flat_rate() に問題があったのでアーカイブを差し替えました。あと、Ktai Style 1.42 に対応した Lightweight Google Maps も今日か明日にはリリースいたします。→リリースしました

2008-07-09
晴れ

Yuriko.Net で使用しているプラグイン

ゆりこ による 13:04:25 の投稿
カテゴリー: WordPressハック
タグ: , , , , ,

Masayan さんところで「もし今、WordPressのプラグインフォルダに10個のプラグインしか追加できないとしたら、最低限何を入れますか?」というトラックバック企画が行なわれていますので、乗っかってみましょう。当サイトで使用しているプラグインは、一応自己紹介に書いてある通りならば「7つ」(Akismet, WP-Multibyte-Patch 除く) ですが、実はそこから微妙に増えていて12個になってしまいました。

ということで、そこから優先度の低いものを削ると以下の通りでしょうか。

Edit Comments XT (Wöhrer 氏作)
非ログインユーザーがコメント投稿した場合でも、ユーザー自身が一定時間だけ編集可能とする。
EventCal (自作・未公開)
サイドバーのイベントカレンダー。日本の祝日対応
Force Wave Dash (自作)
Windows 環境で入力した「全角チルダ」を「波ダッシュ」に補正。
Ktai Entry (自作)
メール投稿 (モブログ)
Ktai Style (自作)
携帯電話対応。軽量なページを表示・簡易的な管理機構を提供。
Reject Short Comments (自作)
スパムコメント/トラックバック対策。短いコメントやトラックバックを拒否。
Weather Journal (自作)
日付の横に自分で入力したお天気を表示。
WordPress.com Stats (Skelton 氏作)
WordPress.com のアクセス統計機能を自分のサイトで使えるようにする。
Ynet Permalink (自作・未公開)
以前の Yuriko.Net におけるパーマリンク体系 (/arc/YYYY/mm/ddX) を実現。

旅行記の方では位置情報と地図が必須なので、拙作のKtai Location および Lightweight Google Maps が追加になります。そのかわり、Ynet Permalink は不要になるため、都合10個に収まります。

同じく拙作の JSeries Notifier ですが、自サイトでは常に最新版が入っているので使う必要がありません。また、サイドバーでアーカイブを年ごとに折り畳む処理は、テーマファイルの functions.php で自作関数 (未公開) を書いているため「プラグインの個数」の制約にはひっかかりません ;-) スパム軽減プラグインのNonce! Please も、テーマの comments.php や functions.php に押し込めることが可能なので、必須プラグインからは外れます。

WordPress 導入以前の Yuriko.Net の見た目・機能を実現するための自作単機能プラグインが多く、他人さんのプラグインは非常に少ないです。これは、「既存のプラグインに満足できるものが少ない」「他人のコードが信用できない」「自分でプラグインを作るのが楽しい」という理由もあります。2番目の理由は結構深刻で、セキュリティーに無頓着なプラグインが結構あるんですよね……。以前、旅行記では「Plug’n Play Google Map」を使っていましたが、地点数が増えると PHP メモリー不足になることと、XSS 脆弱性があったことで、「人気があるプラグインでも信用ならない」ことが分かってしまいました。作者にセキュリティーホールを報告しても梨のつぶてで、これが「自分でプラグインを書く」きっかけとなり、他人のプラグインを入れるのは慎重になりました。

といっても、Edit Comments XT, WordPress.com Stats については、セキュリティーホールがないことのチェックはサボっていますが ;-)

[追記] しまった。旅行記の方では「Change Thumbnail Max Side Length」も必須でした (WordPress コア改造で逃げるか、テーマの functions.php に移設する手もありますが)。そのままだと11個になってしまうので、WordPress.com Stats を外すことにします。

2008-07-06
晴れ

携帯対応プラグイン Ktai Style バージョン 1.41 リリース

Ktai Style サンプル画面

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」の安定版バージョン 1.41 をリリースいたしました。1.40 からの変更点は次の通りです。

  • PHP 5.0, 5.1 でも動くように調整しました。ただし、PHP 5.0.x, 5.1.x でのテストは行なっていません。動かない場合はあきらめてください;-)
  • WordPress 2.6 ベータ版への対応を盛り込みました。
  • Compact テーマのフッターで、固定ページへのリンクメニューをやめて、固定ページ一覧ページへのリンクとしました (Redportal メニューと同じ表示)。
  • 各社スマートフォンなど「その他」端末での絵文字画像に style=”border:0 none;” 属性を付与しました。絵文字が a 要素に含まれるとき、絵文字画像に枠がつかないようになります。
  • PC やスマートフォンにおいて、より多くの絵文字が画像表示できるよう、絵文字と画像の対応を調整しました (画像自体は増えていません)。
  • 中継ページを出さずに直接リンクするウェブサイトに「楽天アフィリエイト」を追加しました。
  • 新規投稿および投稿編集で投稿スラッグが入力・編集できるようになりました。
  • WordPress 2.3 以降では、ダッシュボードに下書きの件数を表示し、また、投稿管理画面で公開ステータス (投稿ステータス) での絞り込みができるようになりました。WordPress 2.2 では、投稿一覧の上部に、自分の草稿に加えて他人の草稿も表示するようにしました。
  • ktai_style/admin/ 配下の管理機能に直接アクセスしてログイン画面にリダイレクトされたとき、ログイン後にアクセスしようとした管理画面にジャンプするようにしました。(PC の管理機能と同じ動作)
  • 下書き投稿は作成日時を 0000-00-00 00:00:00 となるようにしました。(PC での下書き作成と同じ動作)
  • au の機種判別で、7月に発売する新機種に対応しました。
  • 携帯向けサムネールを作らないぐらい小さい画像 (長辺が 96 ピクセル以下) が表示されない不具合を修正しました (Ktai Style 1.35 以後発生していたバグ)。
  • PNG, GIF 画像をインライン表示ではなくリンクに変換している場合 (mova, ソフトバンク PDC 等) において、PC 向けサムネールまたは中サイズ画像へのリンクが見つからない (Not Found) になっていた不具合を修正しました。
  • Palm OS ハンドヘルド、シャープ Zaurus で閲覧したとき、WP-Cache 等キャッシュプラグインに携帯表示がキャッシュされてしまう不具合を修正しました。
  • リンク先に Mobile Link Discovery があるかの確認で、相手先サーバーがチェンク形式のデーター (Transfer-Encoding: chunked) を返したときに、モバイル版ページの URL をうまく抽出できないことがあった不具合を修正しました。
  • leave_scheme, mobile_same_url, none_mobile_url フィルターフックを使うためのフィルター関数を、携帯テーマの functions.php に書いても呼び出されるようにしました。(従来は、フィルター関数を my-hacks.php に書く必要がありました)
  • 作者権限ではコメントを編集できないことがある不具合を修正しました。
  • プロフィール編集で日本語ニックネームを入力しても空白になってしまう不具合を修正しました。また、WordPress 2.5 以降で、メッセージが英語の「Profile Updated.」になっていたのを日本語メッセージになるように調整しました。
  • Ktai_Style::request_path() メソッドを廃止しました。代わりに $_SERVER['REQEUST_URI'] を使用してください。
  • 独自テンプレートタグ ks_get_wp_version() を廃止して ks_check_wp_version() を新設しました。
ダウンロード: ktai_style141.tar.bz2 (239.7 KB)
バージョン 1.42 をリリースしました。

今回は細かいバグ修正がメインで、PHP 5.0, 5.1 および WordPress 2.6 ベータ版への対応を試みています。お手数ですがバージョンアップして頂きますようお願いします。

[追記] WordPress 2.6 対応ですが、README にも書いてあります通り、wp-config.php の移設しか対応していません。WP_PLUGIN_DIR 定数の設定でプラグインディレクトリーを移動する機能を使うと不具合が発生します。これは WordPress コア側の対応が必要なので、それまで待ってください。

2008-06-18
晴れ

携帯対応プラグイン Ktai Style バージョン 1.40 リリース

Ktai Style サンプル画面

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」の安定版バージョン 1.40 をリリースいたしました。1.36 からの変更点は次の通りです。

  • Palm OS ハンドヘルド、シャープ Zaurus も携帯表示をさせるようにしました。
  • スマートフォン等の「その他」端末では、プラグイン画像をそのまま表示させるようにしました。例えば、FireStats の国旗・OS・ブラウザーアイコンが、プラグイン組み込みのものがそのまま出ます。
  • ウィルコム、イー・モバイル、スマートフォン等の「その他」端末では、外部サイトへのリンクにアイコンをつけるのをやめました。もともと直接リンクしており、アイコンをつける意味はありませんでした。
  • PC やスマートフォンでも絵文字が画像で表示されるようにしました。今のところ、iモード絵文字のみすべて画像で出ます。それ以外の絵文字は順次対応する予定です。
  • 外部サイトへの中継ページを出す直前で相手先にアクセスして Mobile Link Discovery を確認し、携帯ページを発見すれば直接リンクするようになりました。このため「PC向け」の表示を「外部サイト」に変更しました。
  • RSS2 フィードにも Mobile Link Discovery を出力するようにしました。
  • 「携帯表示」設定画面のテーマ一覧で、style.css に記載されたテーマ名称およびバージョンを表示させるようにしました。従来はテーマのフォルダー (ディレクトリー) 名を出していました。
  • コメントへの絵文字使用を認めない場合、ソフトバンク絵文字がウェブコードのまま残っていましたが、積極的に除去するようにしました。
  • 投稿管理およびコメント管理で、ページナビゲーションをリストの下に移動しました。
  • in_network() メソッドをウィルコムの IP アドレス帯域追加に対応させました。
  • 言語リソースを lang フォルダーに、電話キャリアー用ライブラリーを operators ディレクトリーに移動しました。
  • 附属テーマの PHP, XHTML の記述を見やすいよう改善しました。テーマの見栄えは従来と同じです。
  • Windows サーバーで運営していて、かつ、プラグインのフォルダー名を ktai_style 以外に変更しているとき、正常に動作しない不具合を修正しました。
  • GD が組み込まれていない PHP で稼動させたときでも異常終了しないようにしました。
  • comment_form アクションを利用してコメント投稿フォームにフィールドを追加するプラグインが正常に動作しない不具合を修正しました。
ダウンロード: ktai_style140.tar.bz2 (234.5 KB)
6-18 23:00 ごろ、バグ修正1点を追加したアーカイブに差し替えました。

バージョン 1.41 をリリースしました。

今回は、だいぶ前から作っていた 1.50 テスト版、1.40 ベータ版を正式版としたものです。数々の改善がされていますが、目玉は PC・スマートフォンでも絵文字が画像として表示できることでしょう。まだまだ絵文字画像が少ないため、今後ぼちぼちと追加していく予定です。投稿画面でのファイル添付機能は今回見送りました。しばらくお待ちください。

2008-06-17
晴れ

WordPress メール投稿プラグイン Ktai Entry 0.8.5 リリース

ゆりこ による 21:32:49 の投稿
カテゴリー: WordPressハック
タグ: , , , , ,

WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.5 をリリースいたします。変更点は以下の通りです。

  • 外部メールボックスを読み出すトリガーを、スタイルシートの呼出しに変更しました。これにより、JavaScript オフの設定がされたブラウザーによる閲覧でもメール読み込みが行なわれます。
  • 同じ時刻の投稿があれば重複としてエラーにする確認を、DATE コマンドで添付画像の撮影日時を投稿日時に指定した場合でも行うようにしました。
  • 同じ内容の投稿がある場合、重複とみなしてエラーとするようにしました。
  • デフォルトの投稿スラッグが、時分秒を繋いだ6ケタの数字にならず、固定の文字列「003328」になってしまうバグを修正しました。(Ktai Entry 0.8.4 のみ存在するバグ)
  • Windows サーバーで運営していて、かつ、プラグインのフォルダー名を ktai_entry 以外に変更しているとき、正常に動作しない不具合を修正しました。
  • GD が組み込まれていない PHP で稼動させたとき異常終了していましたが、添付画像ファイルを無視して投稿処理がされるようにしました。
  • WordPress MU で使用した場合、管理パネルの「メール投稿」でメールサーバーの設定をできるようにしました。通常の WordPress の場合は従来通り、「投稿設定」→「メールでの投稿」にて設定してください。ただし、添付画像の投稿にはうまく対応していないかもしれません。(Ktai Entry 0.8.4 で作り込んだつもりでしたが動作していなかった)
ダウンロード: ktai_entry085.tar.bz2 (76.2 KB)
バージョン 0.8.6 をリリースしました。

今回は投稿スラッグが固定の文字列になってしまうバグの修正および、重複投稿チェックの強化、外部メールボックスの読み出しトリガーの変更を行なっています。最後のものはちょっとチャレンジングな変更かもしれません。JavaScript オフの環境でも動作する反面、スタイルシートの呼び出しをきっかけとしているため、ブラウザーのキャッシュに入りやすい (==何回も実行されない可能性がある) という欠点があります。手元では問題なく動作していますが、環境によってはうまくメール取り込みが行なわれないかもしれません。

機能自体の強化ではありませんが、附属ドキュメントに「メール投稿されたら管理者にメールが届くようにしたい」というカスタマイズを掲載しました。作者としてはそういう機能の必然性を感じないため本体に取り込む予定はありませんが、必要な方はカスタマイズを行なってみてください。

今回は変更点やカスタマイズについて慎重にテストを行なっているので、たぶん問題なく動作するはずです。

2008-06-15
晴れ

携帯の位置情報活用プラグイン Ktai Location 1.0.2 リリース

ゆりこ による 23:14:47 の投稿
カテゴリー: 更新履歴
タグ: , , , ,

携帯電話の位置情報活用プラグイン「Ktai Location」のバージョン1.0.2 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。1.0.1 からの変更点は以下の通りです。

  • Ktai Location 1.0.1 において、Yahoo! 地図情報の地図 URL のフォーマットが小数点表記の場合を認識しなくなっていた不具合を修正しました。(Ktai Location 1.0.1 のみ存在するバグ)
ダウンロード: ktai_location102.tar.bz2 (20.1KB)

今回は 1.0.1 で作り込んでしまったバグの修正です。Yahoo! 地図情報で地図を移動させない場合もテストしたつもりだったのですが、どうやらテストが漏れていたようです。申し訳ありません。

2008-06-11
晴れ

携帯の位置情報活用プラグイン Ktai Location 1.0.1 リリース

ゆりこ による 01:01:01 の投稿
カテゴリー: WordPressハック
タグ: , , , ,

携帯電話の位置情報活用プラグイン「Ktai Location」のバージョン1.0.1 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。1.0.0 からの変更点は以下の通りです。

  • Yahoo! 地図情報で、地図 URL のフォーマットが度分秒表記の場合に対応しました。詳細地図を出したり地図をスクロールさせた場合に度分秒表記になってしまうため、前バージョンでは位置情報が読めませんでした。
  • ソフトバンク携帯電話で MapFan の地図 URL (http://v.mapfan.com/…) およびゼンリンいつもナビの地図 URL (http://v.itsu-mo.com/…) に対応しました。
  • ゼンリンいつもナビ PC 版から携帯にメールで地図 URL を送る場合のフォーマット(http://mobile.its-mo.com/p1?128219829-502437693-6) に対応しました。
ダウンロード: ktai_location101.tar.bz2 (20.1KB)
バージョン 1.0.2 をリリースしました。

今回は対応フォーマットの追加です。Yahoo! 地図情報は、測位した直後は緯度・経度が小数点表記なのですが、詳細地図を出したり移動させたりすると度・分・秒表記になってしまいますが、従来は後者のフォーマットに対応しておらず位置情報が読めませんでした。

今後も対応フォーマットを増やしたいところですが、実際のところ、ドコモでは docomo.ne.jp の地図 URL が標準で、au は walk.eznavi.jp が標準、ソフトバンクは Yahoo! 地図情報が事実上標準的な存在なため、他の地図サービスの URL に対応する必然性はもはやないんですよね……。ウィルコム対応が遅れていますが、多くの端末が「現在見ているページの URL をメールする機能」を持たないため、地図サービス側で「今見ている地図をメールする」という機能を持ってない限り対応できません。一番いいのは、さっさと GPS 搭載してもらって、写真に位置情報を埋め込む機能が使えるようになればいいのですが。