web-dev-qa-db-fra.com

is_active_sidebar () ne fonctionne pas

pourquoi la fonction is_active_sidebar () renvoie toujours la valeur false?

Code 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 code:

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

J'ai essayé avec le nom ou l'identifiant mais ne fonctionne pas. Une idée?

Merci

EDITED: J'ai des barres latérales plus dynamiques et j'utilise ce code pour enregistrer celles-ci:

 // enregistre des barres latérales personnalisées 
 add_action ('widgets_init', 'register_theme_sidebars_dynamic'); 
 
 // et cette fonction ... Je pense que le problème est là : 
 
 fonction register_theme_sidebars_dynamic () {
 global $ wpdb; 
 // barres postales et latérales 
 $ widgetized_pages = $ wpdb-> get_col ( $ wpdb-> prepare ("SELECT DISTINCT meta_value FROM $ wpdb-> postmeta WHERE meta_key = 'omc_page_sidebar'", ")); 
 
 if ($ widgetized_pages) {
 foreach ($ widgetized_pages as $ w_page) {
 $ widget_id = strtolower (str_replace ('', '_', $ w_page)); 
 register_sidebar (array (
 'nom' => $ w_page, 
 'id' => 'jw_widgetsection _'. $ widget_id, 
 'description' => '', 
 'before_widget' => '', 
 'after_widget' => '', 
 'before_title' => '', 
 'after_title' => '' [.___ _.]);; 
} // Pour chaque 
} // Fin Si 
 
 
} 
 
 
3
Francesco Craparo

Essayez ceci dans votre 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' );

Appelez footer.php avec l'ID.

<?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