web-dev-qa-db-ja.com

is_active_sidebar()が機能しない

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_pa​​ges = $ wpdb-> get_col( $ wpdb-> prepare( "$ wpdb-> postmetaからメタデータを選択WHERE meta_key = 'omc_page_sidebar'"、 '')); 
 
 if($ widgetized_pa​​ges){
 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' => '' [.___] _。])); [
]} //それぞれ[
]} //終了の場合
 
] 
] 
 
 
3

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; ?>
1
ucon89