そういえばサイドバーを忘れてました。
作業の記録付けるのも忘れてました。
サイドバーにも二種類あるらしい
静的なものと、動的なものと。
後者が管理画面の外観>ウィジェットから操作できるやつで、前者は単純にテンプレートを読み込むだけ(対応アクションはある)。
静的なサイドバー
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>
こんな風に使う場面はないと思うけども。
多言語対応
そういえばこれも知りたいところ。明日調べよう。