ウィジェットサイドバーを複数の場所で使う
ウィジェットの機能を複数の場所で使用する場合のカスタマイズ方法です。
ウィジェットはregister_sidebar();をfunction.phpに記入して機能を有効にし、
表示したい場所(sidebar.php等)に下記を記入して表示されるようになります。
<ul> <?php dynamic_sidebar(); ?> </ul>
詳しいパラメータ等→codex関数リファレンス/register sidebar
ウィジェット機能を2つ使用したい場合は、function.phpに下記のようにregister_sidebar();を2つ記入します。
register_sidebar(); register_sidebar();
使用例
例えばサイドバーとフッターに使用したい場合は、function.phpに下記のように記入します。
// sidebarの設定 register_sidebar(array( 'name' => 'sidebar', 'before_widget' => '<div>', 'after_widget' => '</div>', )); // footerの設定 register_sidebar(array( 'name' => 'footer', 'before_title' => '', 'after_title' => '', ));
•sidebarの設定
‘name’ => ‘sidebar’でダッシュボードで表示される名前をsidebarに変更します。
デフォルトだとウィジェットのマークアップはliになりますので、『’before_widget’ => ‘<div>’,’after_widget’ => ‘</div>’」でマークアップをdivで行うように変更しました。
•footerの設定
sidebar同様にダッシュボードでの表示される名前の変更と、「’before_title’ => ”,’after_title’ => ”,」でデフォルトで出されるh2のタイトルのマークアップをなしにしました。(ダッシュボードでタイトルを入力しなかったので)
<!-- sider.phpに下記を記入 --> <div class="widget-area1"> <?php dynamic_sidebar('sidebar'); ?> </div> <!-- footer.phpに下記を記入 --> <ul class="widget-area2"> <?php dynamic_sidebar('footer'); ?> </ul>
これでフッターにもウィジェットが表示されました。外観はcssで整えましょう。
メモ
1カ所で複数のウィジェットを使用する場合はこちらの関数を使えばよいのでしょうか
関数リファレンス/register sidebars
No Comments & Tracbacks