ウィジェットサイドバーを複数の場所で使う

ウィジェットサイドバーを複数の場所で使う

ウィジェットの機能を複数の場所で使用する場合のカスタマイズ方法です。

ウィジェットは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

Related Article

No Comments & Tracbacks

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー トラブル コードサンプル スライドショー コンテンツ 素材 jQueryプラグイン Facebook php 引っ越し お知らせ JavaScript CSS カテゴリー Shareボタン IE 投稿タイプ seo Photoshop レスポンシブ Macアプリ ナビゲーション タクソノミー HTML5 WPセキュリティ Git カスタムメニュー サイドバー PHPリファレンス SVG query_posts API WP使い方 iTunes データベース コメント function RSS 条件分岐 get_posts() スマートフォン Sass/Compass マルチサイト機能