is_active_sidebar()関数が常にfalseを返すのはなぜですか?
Function.phpコード:
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Footer Column 2',
'id' => 'footer-column-2', // I also added the ID but doesn't work
'before_widget' => '<div id="%1$s" class="omc-footer-widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
}
footer.phpコード:
<?php if ( is_active_sidebar( 'footer-column-2' ) ) : ?>
<div class="omc-footer-widget-column">
<?php dynamic_sidebar( 'Footer Column 2' ); ?>
</div><!--- /second-footer-column -->
<?php endif; ?>
私は名前かIDで試しましたが、うまくいきませんでした。何か案が?
ありがとう
編集:私はより動的なサイドバーを持っていると私はこれらを登録するためにこのコードを使用します。
//カスタムサイドバーを登録する add_action( 'widgets_init'、 'register_theme_sidebars_dynamic'); //そしてこの関数...問題はここにあると思います: 関数register_theme_sidebars_dynamic(){ グローバル$ wpdb; //サイドバーの投稿とページ $ widgetized_pages = $ wpdb-> get_col( $ wpdb-> prepare( "$ wpdb-> postmetaからメタデータを選択WHERE meta_key = 'omc_page_sidebar'"、 '')); if($ widgetized_pages){ foreach($ w_w_page as $ w_page){ $ widget_id = strtolower(str_replace( ''、 '_'、$ w_page)); register_sidebar(配列( 'name') => $ w_page、 'id' => 'jw_widgetsection _'。$ widget_id、 'description' => ''、 'before_widget' => ''、[。 'after_widget' => ''、 'before_title' => ''、 'after_title' => '' [.___] _。])); [ ]} //それぞれ[ ]} //終了の場合 ] ]
Functions.phpでこれを試してください
function your_widget(){
register_sidebar(array(
'name' => 'Footer Column 2',
'id' => 'footer-column-2', // I also added the ID but doesn't work
'before_widget' => '<div id="%1$s" class="omc-footer-widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
}
add_action( 'widgets_init', 'your_widget' );
IDを使用してfooter.phpを呼び出します。
<?php if ( is_active_sidebar( 'footer-column-2' ) ) : ?>
<div class="omc-footer-widget-column">
<?php dynamic_sidebar( 'footer-column-2' ); ?>
</div><!--- /second-footer-column -->
<?php endif; ?>