WordPressの2.3からはサイドバーをウィジェットとして、管理画面から拡張可能みたい。ただ、それには、テーマのsidebar.phpがちゃんと対応してないといけないらしい。
対応させ方については、
Widgetizing Themes
に書いてあった。
そもそも、デフォルトでのサイドバーの書式は、
<ul id="sidebar">
<li id="タイトル">
<h2>タイトル</h2>
内容
</li>
<li id="タイトル">
<h2>タイトル</h2>
内容
</li>
</ul>
らしい。ただ、Caskのテーマはulとliで作ってなくって、
<div id="sidebar">
<div class="title"><h2>タイトル</h2></div>
内容
<div class="title"><h2>タイトル</h2></div>
内容
</div>
みたいな感じ。css書き換えるのが面倒なんで、ulとか使いたくないわけで…。
そこで、Widgetの設定の方を書き変えちゃう。方法は、
functions.php*というファイル(themeの中に作っちゃって構わないみたいです)に
< ?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '<div class="title"><h2>',
'after_title' => '</h2></div>',
));
?>
みたいに書いて保存&アップロード。
ちなみに、
before_widget
before_titleタイトルafter_title
after_widget
みたいな書式。これに従って、自分のテーマに合わせてregister_sidebarの引数に配列として放り込めばOK。
さらに、テーマのフォルダにあるsidebar.phpに、
<div id="sidebar">
< ?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar() ) : ?>
<div class="title"><h2>タイトル</h2></div>
内容
<div class="title"><h2>タイトル</h2></div>
内容
…
< ?php endif; ?>
</div>
みたいにして、
< ?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar() ) : ?>
と
< ?php endif; ?>
を書いとけばよさげ。
注: Aug 28, 2008 訂正