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

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

ウィジェットは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プラグイン php 引っ越し 素材 お知らせ JavaScript Facebook CSS カテゴリー 投稿タイプ IE HTML5 Shareボタン seo レスポンシブ Photoshop タクソノミー ナビゲーション カスタムメニュー Git Macアプリ サイドバー WPセキュリティ SVG iTunes PHPリファレンス API WP使い方 query_posts データベース get_posts() 条件分岐 コメント function RSS スマートフォン Sass/Compass さくらVPS