Problem z widgetami. Nie wyświetlają się na stronie.
-
Witam wszystkich.
Mam pewien problem z widgetami. Stworzyłem swój pierwszy szablon do WordPressa i wszystko działa tylko nie wyświetlają mi się widgety na stronie. Sam wordpress widzi miejsca na widgety i mogę je dodawać, ale na stronię już się nie wyświetlają.Oto kod i zdjęcie z wordpressa.
Przykładowo footer</div> <footer> <div class="footer-center"> <div> <img src="<?php echo PKRK_THEME_URL ?>/images/logo-footer.png" alt="footer-logo"> </div> <div> <?php dynamic_sidebar('widget-zone-footer'); ?> </div> <div> <?php wp_nav_menu(array( 'menu' => 'Footer menu' )); ?> </div> </div> <div class="CR-footer"> <div class="footer-center"> <p>©Copyrights <a href="http://cufflink.pl">Cufflink Agencja interaktywna</a></p> </div> </div> </footer> </body> </html>
deklaracja sidebarów
if(function_exists(register_sidebar)) { $sidebar_list = array ( array ( 'name' => 'Sidebar (archiwum)', 'id' => 'sidebar-archive', 'description' => 'Widgety w sidebarze w archiwach' ), array ( 'name' => 'Sidebar (wpis)', 'id' => 'sidebar-wpis', 'description' => 'Widgety w sidebarze w wpisach' ), array ( 'name' => 'Footer', 'id' => 'widget-zone-footer', 'description' => 'Widgety w footerze' ), ); $sidebar_opts = array ( 'before_widget' => '<div id="%1$s" class="box widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h5>', 'after_title' => '</h5>' ); foreach($sidebar_list as $sidebar) { register_sidebar(array_merge($sidebar, $sidebar_opts)); } }
Screen z WordPressa
Z góry dziękuję za pomoc.
Pozdrawiam
-
Użyj funkcji
register_sidebar
dla każdego paska bocznego z osobna, pozbywając się pętli.Po drugie, paski boczne powinny znajdować się wewnątrz funkcji np:
function register_widget_init(){ // register_sidebar( array( register_sidebar( array( }
I zainicjować ją zaczepem akcji
widget_init
afd_action( 'widget_init’, 'register_widget_init’);`Tylko, że z inicjowaniem nie ma problemu, bo sam wordpress widzi paski boczne tylko kiedy juz je deklaruje na stronie
<?php dynamic_sidebar('widget-zone-footer'); ?>
to coś nie działa i nic się nie wyświetla.Sprawdziłem u siebie ten Twój kod no i u mnie działa więc… Coś musisz mieć skończone w motywie.
Jak udostępnisz jego kod, to będziemy mogli powiedzieć coś więcej.
P.s. warto też sprawdzić czy to jakaś wtyczka nie powoduje konfliktu i je wyłączyć.
Rozwiązałem problem. Pierdoła. Prawidłowa zapis powinien wyglądać tak:
if(function_exists("register_sidebar")) {
Pozdrawiam i dzięki za pomoc
- Temat ‘Problem z widgetami. Nie wyświetlają się na stronie.’ jest zamknięty na nowe odpowiedzi.