WordPressプラグインJetpackスゲ!

WordPressに新しく登場したAutomattic謹製Jetpackプラグインがスゴイ件。

http://jetpack.me/

詳しくはWordPress.com 日本語ブログ「インストール型 WordPress を Jetpack でパワーアップ」をご覧下さい。

良くわかんないよー、な人はまずインストールしちゃいましょう。
プラグイン > 新規追加
検索:jetpack
でインストールできるはずです。

次にWordPress.comのアカウントIDとパスワード入力を求められるので入力しましょう。
Akismet使うのに多分アカウントは持ってるはずです。
[Authorize]してJetpackの各機能を使うことができます。

Jetpackメニュー画面で各項目の「さらに詳しく」をクリックするとどんなことができるか日本語で説明が出てきます。

Jetpackの名に恥じない色々ま機能がパッケージされた強力なプラグインです。

wp-syntax, preタグ内の文字をFirefoxでも折返して表示したい

WordPress のプラグイン wp-syntax を使ってコード表記を行っています。
対応言語も多く助かっているのですが、1つだけ気になっていたことがあります。

Firefox だとコードが折返し表示されずに横スクロールバーが出てしまうことです。
Safariだと折り返して表示されています。

コードは pre タグ内に書くのでFirefoxの挙動は正常だとも思うのですが・・・

wp-syntax 付属の wp-syntax.css をカスタマイズすることにします。

プラグインフォルダのファイルを編集してしまうとアップデートの時に面倒くさいのでどうしようかとソースを見てると、テンプレートフォルダに同名の wp-syntax.css があればコチラが優先になるようになっていました。
それで、ダウンロードしたプラグインファイルから wp-syntax.css をテンプレートフォルダへアップロードしカスタマイズを開始しました。

変更した箇所は .wp_syntax pre へ以下の設定を末尾に2行追加しました。

white-space: -moz-pre-wrap;
white-space: pre-wrap;

これで良さそうだ。

【WordPress Plugin】cformsII が返ってきた

cformsIIがプラグインディレクトリに戻ってきています。
http://wordpress.org/extend/plugins/cforms/

フォームデータをDBへ保存する機能を持ったフォーム生成プラグイン。
以前は日本語環境では難ありで、そのまま使うとSubjectや送信者名が文字化けする確率が高く、使用するにはプラグインファイルをいくつか書き換える必要がありました。

cforms Ⅱ が日本語に対応

現在ではカスタマイズなしに使えます。

プラグインディレクトリから消えていたのはライセンスの問題らしいとネットのウワサで聞きましたが、復帰してくれて喜ばしい限りです。

ただ、良くわからないのがプラグインディレクトリにホストされているバージョンは10.1なのですが、Plugin Homepage のバージョンは11.1と異なっていることです。

cformsが多機能ということはよーーく分かっているのですが、ちょっと気になることが・・・
cformsはWordPressが用意している関数群をあまり使わず、オリジナル関数を使う傾向が強いこと。
wp_mail使っていれば文字化けの問題も起きなかったのでは、と思わずにいられません。

XREAにWordPressプラグインWP-Cacheをいれてみた

XREAのPHPはセーフモードで動作している。
そのためファイルやディレクトリ回りの操作に制限がかかってる。

WordPress勉強会で@naokomcから勧められたWP-Cacheも少しサーバーをいじってあげないと動作できない。

設定手順をメモっとく。

1.wp-contentを書込み可能パーミッションへ変更 -> 757
これでwp-cacheのwp-cache-phase1.phpのシンボリックリンクがwp-contentadvanced-cache.phpとして書き込まれる。

2.wp-configへコード追加

define('WP_CACHE', true);

3.wp-contentcacheフォルダを作成しパーミッションを707へ変更

wp-contentのパーミッションを元に戻しておかないとセキュリティホールになる危険性があります。

WordPressをWPtouchでiPhone向けにカスタマイズ

WPtouch スクリーンショットWordPress プラグイン WPtouchをインストールしてiPhone向けにカスタマイズしました。

iPhone の Safari はフルブラウザなのでわざわざカスタマイズする必要があるか、は色々意見はあるかもしれませんが・・・
狭い画面表示を有効に使うための手段の一つと言えるかもしれません。

WordPress画面をまるでネイティブアプリののような表示に変えてしまいます。
日本語はされていませんが、表示の問題は無さそうです。

好みの問題もありますが、デフォルトのテキスト表示がjustifyされているのでleftに変えました。

ページの表示は “Logo Icon // Menu Items & Page Icons”セクションで表示したいページとアイコンを選択する必要があります。

カスタマイズはプラグインのthemesに フォルダ / ファイル を追加することで可能なようです。
添付の default theme でも充分な感じですけど。

アーカイブ系画面ではタイトル横の三角形をクリックすると本文要約が表示されます。
これもちゃんと対応できていてイイ感じです。

WP勉強会@AIP 2009-09-12

Contact Form 7の作者、三好さん講師の WordPress 勉強会がAIPで開催されました。

テーマ・フレームワークの話は興味深かった。
sandbox
Hybrid
を教えてもらった。

まだ、どう使いこなしたらいいのか見当がつかない。

雑談中に参加者の方から教えていただいたプラグイン Category Order はカテゴリーの並び順を任意に変えることができるスグレものでした。
これは超便利!

次回はプラグイン作成の1回目、興味津々だけど行けそうにない。 :-(

ず〜〜っと下書きのまま放置していました。
時期を逸してしまったけどせっかくなので公開します。

Contact Form 7WordPress Plugin Directory でも常に Most Popular 上位にはいってる人気プラグインです。
その作者から直接お話を聞く機会があるなんてなんてステキなんでしょう。

cforms Ⅱ が日本語に対応

WP Plugins の cforms が日本語に対応していました。
あっちこっちハードコードされている記述を修正しないと日本語対応のメールが送信できなかったのが、修正しないで送信できるようです。

どのバージョンからかは定かでは無いですが、10.5以降であれば良さそうです。

大幅なコードの見直しが行われており、ハードコードされていた記述はクラス参照に書き換えられていました。
mbstring関数が存在すれば…というようなif分岐が使われていて、問題なく日本語が送信者、タイトル、本文に使えるようです。

ただ、Wordpress のプラグイン管理からは外れているので使用するには少々勇気がいります。
なんでなんでしょうねー

コメント項目をカスタマイズしたりするのには便利に使えそうです。

WordPress, wp-jrelated 1.50 で Warning

wp-jrelatedを関連記事を表示するのに利用している。
http://wppluginsj.sourceforge.jp/wp-jrelated/

Yahoo! Japan が提供する「日本語形態素解析Webサービス」を使って投稿の内容を分析し関連する投稿などを表示します。

バージョンを1.50にするとWarningが出るようになってしまった。
注意書きに、関数の引数を変えたとあったのが原因かと思うのだけど・・・
Continue reading

WordPress プラグイン Event Calendar 3 の言語ファイルを作る

イベントを管理しカレンダーに表示してくれるプラグイン Event Calendar 3 の言語ファイルを作った。

Event Calendar 3 は投稿にイベント日時を追加して管理するプラグイン。
投稿が無ければイベント日時を登録できない。
ウイジェットも付属する。

イベントだけのカレンダーを表示したり iCal ようのファイルがダウンロードできたり・・・
運用を工夫すると休業日の表示ができたりすると思う。

あるサイトの開発に使用した。
クライアントオーダーでプラグインの改造を余儀なくされたが、基本的な機能には多いに助けられた。

日本語化のために言語ファイルを作成した。
作成時点のバージョンは3.1.2、現在の3.1.4でも問題ないようだ。
せっかくなのでダウンロードできるようにしてみた。

作成には Poedit を使用。
圧縮には MacZip4Win を使用。

リンク先からダウンロードし解凍後、フォルダ内のファイルを Event Calendar 3 プラグインフォルダ内 gettext フォルダへアップロード。
ファイル名を ec3-ja.* へ変更。

ダウンロード

WordPress cforms プラグインってイケテルの?

カスタムフォームを作れる cforms が人気のプラグインらしい。

確かにDBへデータを保存したりなかなか高機能。
日本語言語ファイルもあるのでかなり便利。

ただ日本語環境だといくつか問題がある。

メールSubjectはかなりの確率で文字化けを起こす。
コードが日本語Subjectを考慮していないのが原因。

送信者名は “ブログタイトル” になるようにプログラムされているが「ブログタイトル」に日本語を使うと文字化けを起こす。

メール本文は WordPress の charset になるので UTF-8 になる。
今はUTF-8でメールを送信してもほとんどのメーラーは問題なく受信できるので、まっイイカとあきらめる。

メールSubjectの文字化けはコードを修正しなければならない。

// lib_aux.php
function encode_header ($str) {
	$x = preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches);
 
	if ($x == 0)
		return ($str);
	return mb_encode_mimeheader($str,'ISO-2022-JP');
}

関数 encode_header を修正した。
マルチバイトに対応していない部分を全て削除した。
セキュリティ面にどんな影響が出るのか読めない。

送信者の文字化けは

$frommail = '"'.get_option('blogname').'" <wordpress@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . '>';

を下記のように修正した。

$frommail = '"'.mb_encode_mimeheader(get_option('blogname'),'ISO-2022-JP').'" <wordpress@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . '>';

ただ、このコードあっちこっちにハードコードされているのでいちいち修正するのが面倒くさい。
せめて関数化してくれていると良かったのに、と思ったりする。

メール本文の文字コード指定もあっちこっちにハードコードされてたりして、イタダケナイと思う。

アップデートも頻繁に行われ、Wordpress のバージョンアップにもいち早く対応しているなど、高機能のプラグインをメンテナンスし続けてくれて感謝!
2バイトな(UTFなのでマルチバイトって言った方がよいのかな?)日本語なんて知らない人が作っているからしょうがないよネな、良くある話。