Wordpressウィジェットを使ってみる - Wordpress widgetsに関するメモ - uniluq memo - 0 views
-
Wordpressの「Widgets」は、もともと管理画面からサイドバーの表示内容を切り替えることの出来る便利なプラグインだったようですが、Wordpress2.5からは本体に組み込まれており、プラグイン導入の手順を踏まなくても利用できます。 早速独自テーマを選択し、管理画面のデザイン>ウィジェットからWidgetsを使ってみようとすると ウィジェットは使用できません 現在使用中のテーマはウィジェットに対応していないため、このままではサイドバーの変更はできません。ウィジェットに対応するようにテーマを修正するにはこちらの説明を参照してください。 と言われちゃいました。 デフォルトテーマのkubrickでは、設定無しに簡単に利用できるのですが、どうやら独自のテーマでこの機能を利用するためには、テーマファイルに少し手を加える必要があるようです。 でグーグルさんに聞きました。 超とりあえずWidgetsを使えるようにする! とりあえずWidgetsを使えるようにするには、「function.php」と「sidebar.php」を編集する必要があります。 function.php function.phpはテーマ内で使うユーザー関数など、全ページで呼び出したいプログラムをまとめて記述しておくファイルです。このファイルに <?php if ( function_exists('register_sidebar') ) { register_sidebar(); } ?> を加えます。ファイルが存在しない場合は新しく作ってください。 sidebar.php 標準のサイドバー部分のファイルです。このファイルの内容が例えば <ul> <li> <h3>このサイトについて</h3> <div class="content"> このサイトは。。。。 </div> </li> </ul> なら、これを <ul> <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) { ?><!-- 追加 --> <li> <h3>このサイトについて</h3> <div class="content"> このサイトは。。。。 </div> </li> <?php } ?><!-- 追加 --> </ul> このように編集します。最初のULの後と、最後のULの前に1行ずつ加わりました。 ここまで終えて、再度デザイン>ウィジェットに行ってみると、Widgetsの管理画面を見ることが出来るようになっていて、管理画面でWidgetsの設定をすると、テーマに反映されるはずです。 ちなみに左サイドバー、右サイドバーというように、複数のサイドバーを使っている場合は、function.phpの内容を <?php if ( function_exists('register_sidebars') ) { register_sidebars(サイドバーの数); } ?> のように変更します。例(2個のバーを使う場合)↓ <?php if ( function_exists('register_sidebars') ) { register_sidebars(2); } ?> さらに、各サイドバーファイルの <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) { ?> の部分の「dynamic_sidebar()」という関数に <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) { ?> のように、数字の引数を与えてやると(ファイル毎に異なる数字)、複数バーのWidgetsを管理画面から管理出来るようになります。 以上とりあえず、Widgetsを使ってみるでした。