:::: MENU ::::

WordPress個別ページのフッターを新しく作成する

Pocket

サイドバーと同じくフッターも作り方忘れるのでメモ。

以下、twentyelevenテーマを例に取ります。
twentyeleven_ss

フッター用のサイドバーの定義を新しく作成する。

# vi function.php
register_sidebar( array(
    'name' => __( 'Another Footer Area One', 'twentyeleven' ),
    'id' => 'sidebar-7',
    'description' => __( 'An optional widget area for your site footer', 'twentyeleven' ),
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => "</aside>",
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
) );

register_sidebar( array(
    'name' => __( 'Another Footer Area Two', 'twentyeleven' ),
    'id' => 'sidebar-8',
    'description' => __( 'An optional widget area for your site footer', 'twentyeleven' ),
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => "</aside>",
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
) );

register_sidebar( array(
    'name' => __( 'Another Footer Area Three', 'twentyeleven' ),
    'id' => 'sidebar-9',
    'description' => __( 'An optional widget area for your site footer', 'twentyeleven' ),
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => "</aside>",
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
) );

既存footerのファイルをコピーして、新しく作るフッターの設定を記述する。

# cp -a footer.php footer-another.php
# vi footer-another.php
get_sidebar( 'another-footer' );

# cp -a sidebar-footer.php sidebar-another-footer.php
# vi sidebar-another-footer.php
# diff sidebar-footer.php sidebar-another-footer.php
17,19c17,19
< 	if (   ! is_active_sidebar( 'sidebar-3'  )
< 		&& ! is_active_sidebar( 'sidebar-4' )
< 		&& ! is_active_sidebar( 'sidebar-5'  )
---
> 	if (   ! is_active_sidebar( 'sidebar-7'  )
> 		&& ! is_active_sidebar( 'sidebar-8' )
> 		&& ! is_active_sidebar( 'sidebar-9'  )
25c25
< 	<?php if ( is_active_sidebar( 'sidebar-3' ) ) : ?>
---
> 	<?php if ( is_active_sidebar( 'sidebar-7' ) ) : ?>
27c27
< 		<?php dynamic_sidebar( 'sidebar-3' ); ?>
---
> 		<?php dynamic_sidebar( 'sidebar-7' ); ?>
31c31
< 	<?php if ( is_active_sidebar( 'sidebar-4' ) ) : ?>
---
> 	<?php if ( is_active_sidebar( 'sidebar-8' ) ) : ?>
33c33
< 		<?php dynamic_sidebar( 'sidebar-4' ); ?>
---
> 		<?php dynamic_sidebar( 'sidebar-8' ); ?>
37c37
< 	<?php if ( is_active_sidebar( 'sidebar-5' ) ) : ?>
---
> 	<?php if ( is_active_sidebar( 'sidebar-9' ) ) : ?>
39c39
< 		<?php dynamic_sidebar( 'sidebar-5' ); ?>
---
> 		<?php dynamic_sidebar( 'sidebar-9' ); ?>

# vi sidebar-another-page.php 
<?php get_footer('another'); ?>

なんか余分な設定入っているかもだけど、これで問題ないと思う。
「外観 > ウィジェット」でサイドバーが出ていて、
footer-another.phpで指定したように新しいフッターが設定されているはず。

Pocket


So, what do you think ?