お盆からなんとなく始めたこのサイトのテーマのカスタマイズから色々手を広げてしまい、勉強がてらにプラグインまで作ってしまいました。肝心のテーマカスタマイズはまだ調整が残っていますが、とりあえず運用サイトに適用させてみました。
いつの間にやらプラグイン開発メインに
このサイトのテーマはWordpressに付属しているTwentytenを使用しています。シンプルなところが気に入ってるのですが、あまりにもモノトーンすぎるのでお盆休み中にカスタマイズを始めました。
最初はテーマの簡単な調整程度の予定でしたが、以前に作った同一カテゴリの記事一覧表示機能を移行させたら、
- アクセス解析の追跡コードはテーマと分離したいよね(今まではテーマにベタ書き)。
- 出来合いもあるけど、せっかくだからプラグイン開発の勉強がてらに作ってみよう。
- 意外に簡単、だったら広告管理の機能も作ってみよう。
- データベース処理や管理画面のフォーム処理は意外に面倒で手間取り沈没寸前。
- 青色吐息でなんとかできた。
3の「意外に簡単」はデータの保存がWordpressのオプション設定保存機能だけで賄えたのと、管理画面が一つだけだったので「簡単」でしたが、広告管理の機能では管理画面として一覧表示と詳細表示、独自テーブルにデータ保存、フロントエンド表示にウィジェットでサイドバーの好きな場所にと欲張ったのが大きな要因です。あと、仕事じゃないのでいきなりコードを書き始めたのも結果的に効率を下げました。やはり何事も計画は大切です。
なお、作ったプラグインはエラー処理が甘かったりするので公開しません。
Wordpressのプラグインは大変な種類が公開されていますが、今回自分で作ってみて個人で開発し、公開したうえでメンテを継続している人はほんとにすごいと実感しました。
カスタマイズの内容
今回のカスタマイズは以下のとおりです。
- 本文幅が少し広く感じていたので、2カラムから3カラムに変更。
- タイトル等が明朝系だったのをゴシック系に変更。
- フッターにあるサイト名の代わりコピーライト表示に変更。
- 以前作っていた「カテゴリの記事一覧」をTwentytenに移行させ忘れていたので追加。
- アマゾンの商品リンクをカスタムフィールドに登録するとそれを本文の下側に表示する機能追加。
- アクセス解析のための追跡用Javascriptをテンプレートベタ書きはやめてプラグイン化。
- 表示しているカテゴリに応じて広告を切り替えて表示できるプラグインを作成。
元々は最初の3項目について作業を行う予定でしたが、いつの間にやら色々いじっています。実際に運用サイトに適用してみるとカラム同士のマージンが狭いので、まだ調整が必要ですね。また、カテゴリ別の広告もまだ作成していないのでどのページでも同じものが表示されます。
参考書
今回のプラグイン開発は「PHPによるWordPressカスタマイズブック」がとても参考になりました。プラグインやウィジェットの作り方が丁寧に書かれています。ただ、この本には独自にデータ保存を行う場合については内容がやや不足しており、その辺りはネットで漁ったり、他のプラグインを調べました。最もその辺りまで詳細にするとページ数が倍増しそうです。
また、主にフロントエンドのカスタマイズ向けですが、「WordPress関数リファレンスガイド」も参考になります。書名にリファレンスとありますが、辞書のような関数毎に短い説明があるタイプではなく、カテゴリ毎に関数の説明があるので分かりやすいです。
早速、商品リンクをカスタムフィールドで表示させてみました。うまく機能が働いていれば下の方に商品リンクが表示されているはずです。