3/16 に発売された「WordPress 高速化&スマート運用必携ガイド」ですが、ありがたいことに Facebook ページやメールで、内容についていくつかお問い合わせをいただいています。
僕が執筆担当したセクションで、特につまずきそうなところや、執筆時から事情が変わったところ、および間違っているところについて、ちょっと解説を入れようと思います。
続きを読む
投稿者「をかもと」のアーカイブ
WordPress 用の Validator ヘルパー作ってます
WordPress で管理画面使うプラグインとか作ってると、毎回入力値の検証とかせこせこと書いてるんですが、メンドクサイのでまるっとまとめてやれるヘルパークラスを作っちゃおうと思い立ちまして、1時間くらいで書きました。
GitHub に置いておくんで、よろしければ使ってやってください。
wokamoto/WP-InputValidator · GitHub
さて、こいつの使い方。
続きを読む
発表! 勝手にビールアワード 2011-2012
去年に引き続き、今年も参戦!
去年のエントリーは、こちら。
発表!勝手にビールアワード 2010 – 2011 : dogmap.jp
呼びかけてくれた @draftbeerman さんのエントリは、こちら。
発表! 勝手にビールアワード 2011-2012 | 生ビールブログ -とりあえず生!-
まずは「2011年4月から2012年3月までに飲んだビールで一番○○だったビール」。
ってわけで、一番苦おいしかったビール。
Hop Juice Double IPA
確か、新橋の Cooper Ale's で頂いたんだったかな?
プレミアムモルトと5種のホップを使った W-IPA。しかも、その後二週間ドライホップしたツワモノ!
こいつは、まさに "ホップジュース" や!旨かったっす!
続いて、一番エロかったビール。
La Mere Noel
デリリュウムでおなじみ、ヒューグ醸造所のクリスマス限定ビールです。
新宿のデリリウムカフェで、何度か呑みました。
上面発酵のブロンドビールで、アルコール度数 8.5%と高めです。
挑発的なポーズの "クリスマスのお母さん" にクラクラ。
続きを読む
WordPress のメンテナンスモード
WordPress では管理パネルから本体のアップグレードやプラグインの一括修正を行っているときにメンテナンスモードに切り替わり、右図のような「予定に基づいたメンテナンスを行っているためしばらくの間ご利用できません。少し間をおいて再度確認してください。」という画面が表示されます。
以前、この画面を変更する tips を投稿しました。
WordPress のメンテナンスページをカスタマイズ
ですが、この画面が表示される条件を説明していなかったので、軽く紹介します。
続きを読む
WPTouch と Nginx リバースプロキシ
WordPress.com でやってるメモブログの方にも書いたんですが、WordPress プラグイン WPtouch を使用しているサイトで Nginx リバースプロキシを利用する際の Tips です。
あっちの方に書いたのは、ほんとにメモ程度なんでコードだけで分かりにくいかなぁと思いまして、こっちで詳細に説明します。
WPTouch や Ktai Style なんかを使ってクライアントのユーザーエージェント(UA)ごとに表示を変えている場合、Nginx でリバースプロキシを使用すると具合が良くありません。
普通に設定した場合、同一URLへのアクセスがあった際は UA に関係なくキャッシュされてしまいます。
この辺を回避するために、Nginx の設定ファイルで UA を判断して proxy_cache_key を変更するってのは、わりかし良く行われている作戦だと思います。
参照: WordPress サイトに nginx を導入する : dogmap.jp
ですが、これだと WP Touch にある Mobile Thema を ON/OFF するボタンに対応できません。
そんで、どうするかと言うと…
続きを読む
WordPress 高速化&スマート運用必携ガイド
WordPress 高速化&スマート運用必携ガイド
昨年末くらいから、こもりさんと一緒に本を書いてました。
先日、ようやく色校 up して 3/16 には発売されます。
右の写真が、出来立てほやほやのカバーの写真です。カッコいいっすなぁ、見るからに速そう。
WordPress サイトを高速化させるためのガイドで、こもりさんがフロントエンドの、僕がバックエンドの技術を色々紹介しています。
僕の書いたところは、このブログとか WordCamp Yokohama、Tokyo なんかで講演した内容が元になってます。
「WordPress のことは分かるんだけど、サーバの設定とか運用とかは、ちょっと…」
って感じの人を対象に書いてみました。
僕とこは、あまり突っ込んだことは書いてないので、普段からサーバ運用している人には物足りないかもしれませんが、そういう人には、逆にこもりさんの書いてくれたフロントエンドの高速化についての話がためになるのでは無いかな?(もちろん、逆もありえますよ。)
そもそもこの本を書くきっかけになったのは、こもりさんが Facebook で「wokamoto さん辺りと、WordPress 高速化についての本書くと面白いんじゃね?」って提案してくれて、それを MdN さんが拾ってくれたからです。
こもりさん、MdN さん、良い機会を与えてくれてありがとうございます。
きっかけってのは、ひょんなところから現れるもんですね。まさか、このブログに自分の書いた本の Amazon リンクを貼ることになろうとは…ブログ始めた頃は、想像もしてませんでした。
続きにこもりさんが書いてくれた序文を引用しておきますね。
続きを読む
WordPress の新しいテーマプレビューがカッコいい
Yesterday marked the halfway point of our second cycle. We’re moving along at a steady clip. The main goal for the coming week is to tie up any loose ends and begin integrating the plugin into core. Until then, follow our progress at #19910 and in the plugin repo.
We’ve made considerable progress in the past week. We completed a first pass for menu locations and have almost all of the elements we need for custom backgrounds (all that remains is the file upload dialog and fixing the color picker). We also added the ability to alter/choose a static front page within the customization (as decided in dev chat yesterday). Under the hood, we’ve made numerous improvements including working APIs (including rendering controls, previewing, and saving) for theme_mods and options, proper handling of multidimensional IDs, and a whole bunch of bug fixes.
WordPress Development Updates を眺めてたら、Team Gandalf Update とか言ってるので、なんだろうと思って見てみたら、思いのほかカッコ良かったので、勢いでエントリ。
どうやら core に取り込む予定の機能を切り出して、プラグインとして公開したみたいすね。
うぉーー! Gandalf すげー!!! pic.twitter.com/Vbj7o4oU
— wokamoto (@wokamoto) February 17, 2012
なにやら Twitter で叫んでたやつです。
続きを読む
Codeigniter の言語クラスで gettext を使えるようにする
最近、ちょっと訳あって Codeigniter をいじってます。
すでに PHP が分かっていれば、学習コストも低く、直感的に使えるんでなかなか良いっすよ。
Codeigniter で、国際化するために用意されてる言語クラスですが、通常は以下のようにして使います。
application/language ディレクトリに各言語のサブフォルダ(例:japanese)を用意する。
その中に _lang.php (例:error_lang.php) というファイルを作成して、連想配列 $lang にテキストをセットする。
$lang['language_key'] = "実際に表示されるメッセージ";
Controller で言語ファイルを読み込む。
$this->lang->load('filename');
lang オブジェクトの line メソッドか、lang() 関数で、キーを指定してテキストを取得する。
$message = $this->lang->line('language_key'); // または echo lang('language_key');
ただ、これだとキーとの対比とか、メンテナンスがめんどくさいので、できれば .mo ファイル作って gettext() で処理したい所です。
続きを読む
Nginx + memcached で WordPress をキャッシングしてみる
Nginx + memcached が気になったので試してみました。元ネタは、下記です。
CakePHPとnginx+memcachedで手軽にキャッシュを活用する – Shin x blog
Nginx では、HttpMemcachedModule を用いることで memcached にキャッシュがあれば、それをそのままレスポンスとして返すことができます。
ただし memcached に保存するキャッシュデータは、アプリケーション側で生成してやらなければなりません。
一方、WordPress では advanced-cache.php というドロップインを作成することでキャッシュデータの制御を行うことができるので、これを作って url をキーとしたキャッシュデータを memcached に保存し、これを Nginx の HttpMemcachedModule に使わせてみました。
続きを読む