WordPress」カテゴリーアーカイブ

Google Maps Anywhere 1.0.0 リリース

WordPress 2.5 以降に対応したページ内の任意の場所に Googleマップ を貼り付けるためのプラグイン Google Maps Anywhere の正式版をリリースしました。
ダウンロードと詳細な使用方法については Google Maps Anywhere@WordPress Plugins/JSeries を参照してください。

β版最終バージョン ver.0.3.8 からの変更点は以下のとおりです。

  • Googleマップ表示用のショートコードが存在しないページでは、Googleマップ表示用の JavaScript, CSS をロードしないように修正。
  • Googleマップ検索画面で検索結果の表示が見辛かった点を修正。
  • 正式版公開に辺り、若干のソースコードのクリーンアップ

正式版公開のきっかけは ASCII.jp で、Google Maps Anywhere を取り上げてもらったからです。
オプション設定も簡単なGoogleマッププラグイン「Google Maps Anywhere」

Ver.0.3.8 以降、安定しているようだし、いつまでも寝かせておいてもしょうがないかなと言うことで、前から気になっていたところを修正し Ver.1.0.0 とさせていただきました。
Ver.0.3.8 と比べ、不必要なページでは CSS, JavaScript のロードを行わないようになっていますので、サイトのロードが多少軽くなると思います。
お使いの方はバージョンアップしてくださいませ。

Head Cleaner (仮) で、なぜ速くなるのか?

WordPress Plugin には、WP-Cacheや、WordPress Super Cache と言った高速化を実現するためのプラグインが多数あります。
これらのプラグインは、本来は動的に生成している WordPress のコンテンツをサーバ上にキャッシュしておいて、サーバ負荷を減らし、クライアントからのリクエストに対して、素早く返答しようというモノです。
つまりは、サーバ側の処理(バックエンド)の高速化。

Head Cleaner (仮) は、これらのプラグインとは違い、クライアント側の処理(フロントエンド)を高速化しようと言うのが狙いです。
多分、今まで無かったタイプの高速化プラグインでは無いでしょうか?
この辺のフロントエンドの高速化の解説は、以下のエントリが詳しいです。

これらで、提案されている基本的な技法は

  • クライアント側のキャッシュを活用したり、無駄な HTTP リクエストを減らして、ネットワークボトムを解消しよう
  • ページレンダリングに関連するもの(CSS)は先に読み込ませ、関係ないもの(JavaScript)は後で読み込んで、見た目の表示を速くしよう

と言うことになります。

では、 Head Cleaner (仮) の高速化技法について、当サイトのトップページを例に検証してみましょう。
続きを読む

Head Cleaner (仮) – ここまでのまとめ

さて、先日から「Head Cleaner (仮)」を、夜半になると Twitter 上で公開しては修正、機能アップを繰り返してきたのですが、盛り込みたかった機能もかなり盛り込めたので、これより熟成期間に入ります。
で、熟成期間に入る前に今までの経緯をまとめておきます。
まずは、このプラグインの基本的な動作原理。

  1. WordPress のテーマテンプレート inex.php や single.php に <?php get_header(); ?> って記述があると思いますが、これが呼ばれた時に動作を開始します。
    この時は、まだ ob_start で、バッファ取得開始するだけ。
  2. header.php の <?php wp_head(); ?> が呼ばれた時点でバッファ取得を終了し、書き出された文字列を解析して整形します。

やってることは、これだけ。
まだまだ開発途上のプラグインですが、人柱になっていただいている方々、ありがとうございます m(_ _)m
不具合は色々と出てきましたが、私は元気です。

さて、では以降は今までの経緯のまとめ。
続きを読む

Head Cleaner (仮)

WordPress にプラグインをガンガンと突っ込んでいくと <head> 部に、JavaScript やら CSS やらが、ドンドン追加されて、カオスなことになってしまいます。
そんな状態の自サイトを「YSlow for Firebug」で診断してみると、とても低いスコアになったりしてガックリ来るわけです。
プラグインを外したりしたくなかったりするので、チマチマと修正したりして使っていたんですが、プラグインのバージョンアップのたびに修正するのも面倒です。

そんな折、「WordPress Head Cleaner」というプラグインを見かけました。
これは、ひょっとして <head> 部を自動でキレイにしてくれるのか?と期待してダウンロードしてみたんですが、ソースを見てガッカリ。
ついカッとなって、こんなプラグインを作ってしまいました。

ダウンロード

Head Cleaner@WordPress Plugins
または
Head Cleaner (最適化&高速化)@JSeries

[2/24 6:00 追記] コメント蘭での、ゆりこさんからの指摘により、 Safari では拡張子が .gz の css, JavaScript を認識できないことが判明。
多分 「.gz」の Content-Type が 「text/javascript」 or 「text/css」 になっていないからだと思われます。
Ver.0.3.2 以降で、Safari に対しては gzip 圧縮されたファイルを転送しないように修正しました。
なお IE, Firefox, Opera, Chrome では、問題無いようです。

[2/25 8:00 追記]Ver. 0.4.0 から CSS もすべて結合することができるようになりました。
# ただし、デフォルトでは OFF になっています。
CSS 内の画像ファイル等への相対パスはすべて絶対パスに置き換えます。
制限事項としては、media 属性を気にせずにすべて結合し、media="screen" にしてしまうため、想定外の表示になる可能性もあります。
この辺は、後々修正します。

[2/26 12:30 追記]Ver. 0.5.x から、CSS と JavaScript をそれぞれ CSSTidyjsmin-php で圧縮できるオプションを付けました。
また、コメント欄でのゆりこさんからの指摘により、ユーザエージェントに「AppleWebKit」を含むブラウザ(ただし chrome は除く)からのリクエストがあった場合は .gz ファイルを転送しないように修正しました。
あと、簡単な注意書きを書いた「readme_ja.txt」を同梱したので、読んでやってください。

[3/4 18:30 追記]正式版のリリース準備版を公開しました。
今まで、php ファイルを直接修正していた各種設定は、管理画面の「設定」>「Head Cleaner」から行えます。
また、競合が報告されているプラグインと、その対処法について「readme_ja.txt」に書いてあります。
そちらも、ご一読ください。

[3/5 23:00 追記]正式版リリースしました。
続きを読む

WordPress コメントをスレッド対応にする

管理画面WordPress 2.7 から、プラグイン等を導入せずともコメントをスレッド(入れ子)表示できるようになりました。
対応するテーマを使っていれば、管理画面の [設定] – [ディスカッション] で [コメントをN階層までのスレッド (入れ子) 形式にする] にチェックを入れてやれば良いのですが、使用しているテーマが対応していないと修正する必要があります。
このテーマの修正が、意外と面倒なので自分用のメモも兼ねて修正方法をエントリしておきます。
続きを読む

メールアドレスのホスト部分を DNS でチェックする

SPAM コメント対策として、コメント欄に入力いただいたメールアドレスのホスト部分を DNS でチェックし、存在するホストかどうかを確認するようにしてみてます。
とりあえず2週間ほど動作させていますが Akismet のチェックまで到達する SPAM コメントはかなり減ったようです。
ただ、このチェックに引っかかったコメントは問答無用で叩き落しているので、ひょっとすると SPAM ではないコメントも叩き落しているのかもしれません。
もし、コメントできないという人があれば、サイドバー右上に記載されているメールアドレス宛てにメールください。Twitter アカウントを持っている場合は、@wokamoto まで知らせていただいても大丈夫です。

この機能は、もうしばらく当サイトで動作させてみて、問題なさそうなら Quick Comments の次期バージョンに管理画面での選択式にして取り込む予定です。
続きを読む

wp-kougabu 導入

「逆光は勝利」「世はなべて三分の一」「ピーカン不許可」「頭上の余白は敵だ」

と言うわけで、投稿やページにアップロードされた画像ファイルを抽出し、サムネイルで一覧表示する WordPress 用プラグイン wp-kougabu を導入しました。
このプラグインによるサムネイルの一覧表示は こちら

で、このプラグイン導入したページをページ分割しようと思ったんですが、私が使っているテーマ(ほぼ自作)はページ分割に対応していないことが判明。
慌てて、テンプレートタグ wp_link_pages() を追記したんですが、これが吐き出す (X)HTML が、気にくわない。
カレントページ番号に対して CSS でスタイル指定しづらいマークアップになってしまうので、ゴニョゴニョして何とかしました。
続きを読む

Twicon for WordPress

WordPress 2.5 以降では、コメント欄で Gravatar が簡単に利用できるようになった。
Gravatar とは、以下のようなもの。要するにコメント欄に表示する投稿者固有のアイコンだ。

Gravatarとは?

Gravatar(Globally Recognized Avatar)とは、広い範囲で利用できるアバター(化身)です。アバターまたはGravatarはアイコンであり、フォーラム、チャット、ウェブサイトのような仮想現実上のオンライン・コミュニティの中で、そのユーザーの身代わりとなって、他のユーザーと自分自身を区別できるようにします。

twittar っておもしろい気もするが、 - Masayanこの Gravatar の代わりに Twitter のアイコンを表示できるプラグイン 「Twitter Avatars In Comments WordPress Plugin」 についてMasayan さんが、Twitter でつぶやいたのを読んで、コレは!と思い色々試してみた。
が、仕様が気にくわない点が色々とあったので作り直し。
まったく別の WordPress プラグインが出来上がったので JSeries で公開します。

使用方法、ダウンロードは以下から。
WordPress Plugins/JSeries » Twicon for WordPress (アバター表示)
続きを読む

WordPress 2.7 で smilies 入りのコメントが承認待ちになる

yutaka さんが、ちょっと前から頻繁にコメントが承認待ちになると言っていたので、原因を調べてみました。
実はこの現象、私のサイトでも WordPress 2.7 にバージョンアップしてから、たびたび発生していました。
# おもに yutaka さんのコメント。

ちらっと WordPress のソースを眺めたところ wp-includes/comment.phpcheck_comment() 関数に問題があることがわかりました。
具体的には 😀 などのいわゆる smilies がコメント中に複数あると、必ず「承認待ち」になってしまいます。
# WordPress 2.7.1 以降のバージョンではこのバグは解決されたため、このプラグインは不要です。

で、どこが悪いかと言うと
続きを読む

wp-shot 0.4 alpha リリース

wp-shot で、定期チェックに使っている Pseudo-cron.php が WP 2.7 で正常に動作しないと言う報告があったので、wp-shot を wp-cron 対応にしたのですが、他にも色々手を加えたので、JSeries で公開することにしました。
wp-cron 対応にしたため WordPress 2.1 以降にのみ対応になってしまいましたが、WordPress 2.0.x では Pseudo-cron.php が正常に動作しているようなので、ヨシとしてください。
今回、手を入れたモノをそのまま眠らせておくのも、もったいないので JSeries リリースしましたが、元々の作者では無いため、細かい仕様や不具合を完全には把握して居ません。
PHP5 が利用できる環境の場合は、wp-shot の実質的な後継プラグイン「Ktai Entry」への移行をオススメします。

今回の仕様変更は以下のとおり。

  • wp-cron 対応 (これにより WordPress 2.1 以降が必須要件になります)
  • メディアライブラリ対応
  • 添付画像の回転保存対応
  • wp-content/plugins//wp-shot/wp-shot.php を直接叩いてもメール取得スクリプトが動作しないように修正
  • norida さんが提起されている「wp-mail 問題」への対応
  • WordPress 管理画面での各種設定値の一括削除

ダウンロードは、以下からお願いします。
WordPress Plugins/JSeries » wp-shot (メール投稿プラグイン)

続きを読む