Widgetsプラグインをインストール September 17, 2006
WordPressのサイドバーを組み替え可能なモジュール構成にできるプラグイン「Widgets」をインストールした。実はインストール自体はずいぶん前に済んでいたのだが、勘違いしてた点を直してやっと動作させることができた。
Widgetsを使うと管理画面の[Presentation]-[Sidebar Widgets]に編集”画面が追加されて、ドラッグ&ドロップで機能の組み替え編集が可能になる。 従来は、wp-content/themes/sidebar.phpを直接編集してきたが、機能を増やすと非常に読みづらくなってカスタマイズが面倒になる傾向があった。 インストールの流れは以下のような感じ。
- WordPress Widgetsのページからzipファイルをダウンロードして解凍
- widgetsディレクトリごとFTPでプラグインのディレクトリ(wp-content/plugins)にアップロード。(ただし、classicとdefaultはwp-content/themesにアップロード)
- 管理画面のプラグインのページで”Sidebar Widgets”をActivate。
- Widgetizing Themesの要領でsidebar.phpとfunctions.phpを編集。修正したファイルをテーマのフォルダにFTPで上書きアップロード。
最後のテンプレートファイル編集のところだけ補足。どういう仕組みなのかという点だけ書くので、正確な書式は配布サイトやREADME.txtで確認して欲しい。
まず、functions.phpはWidgetsインストール前には存在していないはずなので新規作成。register_sidebar()を呼んで登録処理をしている。これを忘れるといつまでたっても従来のsidebarしか表示されない。
if ( function_exists('register_sidebar') )
register_sidebar();
sidebar.phpの方は、Widgets導入前のサイドバーの中身をif ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() )とendifではさむ。 これは、dynamic_sidebar()でWidgetsを呼び出してみて、ダメだったときに従来のサイドバーの中身を表示する処理。
なお、サイドバーの中でPHPの関数を使って直接処理をしている部分がある場合、Widgets対応のプラグインとして書き直す必要がある(と思う)。 または、上のsidebar.phpで追記したif?endifの外に実装すれば今までどおり常に表示される。この場合は、Widgetsプラグインの管理対象外になるので、GUIで入れ替えたりすることはできない。
Widgetsを2つ以上設置する方法…
WordPressのWidgetsプラグインはテーマテンプレートを多少修正することで複数設置することができる。 3段組レイアウトにしてサイドバーを左右に設置する場合などに便利。
まず、functions.p…