そういえばサイドバーを忘れてました。
作業の記録付けるのも忘れてました。
サイドバーにも二種類あるらしい
静的なものと、動的なものと。
後者が管理画面の外観>ウィジェットから操作できるやつで、前者は単純にテンプレートを読み込むだけ(対応アクションはある)。
静的なサイドバー
get_sidebar()で読み込む。
<?php get_sidebar('hoge'); ?>でsidebar-hoge.phpというテンプレートを探してきて、出力する。
これは簡単だね。ファイルがないとデフォルトのものを読み込むみたい。
動的なサイドバー
何もしないとウィジェット設定の画面でこのテーマではウィジェットは使用できません
と表示されてる。
利用できるようにするには、register_sidebar()を使って「登録」してやる必要があるみたい。
これをfunctions.phpに書いておく。
register_sidebar(array( 'name' => 'サイドバー', 'id' => 'sidebar-1', )); register_sidebar(array( 'name' => 'フッター', 'id' => 'footer-1', ));
これでウィジェット設定に出てくる。
使うときはdynamic_sidebar()で読み込む。
<ul id="sidebar"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </ul>
出力されるウィジェットはliタグで囲まれるようになるので、それらをulで括る必要がある。これはdynamic_sidebar()のオプションbefore_widget, after_widgetで変更できる。
タイトルはh2で出力されるんだけど、これも同様にbefore_title, after_titleで変える事ができたよ。
強引だけどこんな事もできるね
register_sidebar(array( 'id' => 'table-1', 'before_widget' => '<tr>', 'before_title' => '<th>', 'after_title' => '</th><td>', 'after_widget' => '</td></tr>', ));
<table> <?php dynamic_sidebar( 'table-1' ); ?> </table>
↓結果(整形済み)
<table>
<tr>
<th>アーカイブ</th>
<td>
<ul>
<li><a href='http://localhost/?m=201204' title='2012年4月'>2012年4月</a></li>
<li><a href='http://localhost/?m=201203' title='2012年3月'>2012年3月</a></li>
</ul>
</td>
</tr>
</table>
こんな風に使う場面はないと思うけども。
多言語対応
そういえばこれも知りたいところ。明日調べよう。