• Raffuss

    (@raffuss)


    Witajcie,

    Natrafiłem na pewien problem pisząc szablon,
    mianowicie nie chce mi działać opcja register_sidebar()

    Mam w plikach zarówno wp_head() jak wp_footer(), mam dodaną funkcję w sidebar.php i function.php zgodnie z info z poniższego linku i nadal nic:
    http://codex.wordpress.org/Widgetizing_Themes

    Zrzut ekranu

    Wszelkie pomysły mile widziane.

Zobacz 9 odpowiedzi - od 1 do 9 (z 9 łącznie)
  • Moderator amistad18

    (@amistad18)

    Pokaż kod z functions.php

    Twórca wątku Raffuss

    (@raffuss)

    <?php
    if ( function_exists('register_sidebar') )
        register_sidebar();
    ?>

    Dokładnie taki sam jak w docsach..

    Moderator amistad18

    (@amistad18)

    Następnym razem czytaj dokumentację dokładnie, i do końca, wywołujesz funkcję bez żadnych parametrów, i dziwisz się nie wiem – że sama nie zgaduje co Ty chcesz zrobić? … tu masz inny przykład:

    <?php
    if ( function_exists('register_sidebar') )
        register_sidebar(array(
            'name'=>'sidebar_home',
            'before_widget' => '<div class="widget">',
            'after_widget' => '</div>',
            'before_title' => '<h2>',
            'after_title' => '</h2>',
        ));
    ?>
    Twórca wątku Raffuss

    (@raffuss)

    Czytałem i nawet próbwowałem ale z tymi parametrami także nie działa.
    Uprzedzając kolejne pytanie: wiem że dodając parametr name trzeba go nastepnie po tym samym name wywołać.

    Moderator amistad18

    (@amistad18)

    Wywołać trzeba dopiero jak chcesz widgety wyświetlić, samo zdefiniowanie tak sidebra powinno wystarczyć. Pokaż cały kod z functions.php …

    Twórca wątku Raffuss

    (@raffuss)

    Sam kod jest bardzo podobny:

    <?php
    if ( function_exists('register_sidebar') )
        register_sidebar(array(
            'name' => 'main_sidebar',
            'before_widget' => '<div class="widget">',
            'after_widget' => '</div>',
            'before_title' => '<h3 class="title">',
            'after_title' => '</h3>',
        ));
    ?>

    Nic więcej na razie w pliku functions.php nie ma. Na poprzednich wersjach nigdy nie miałem z tym problemu, a na tej jakoś nie chce zadziałać.

    Moderator amistad18

    (@amistad18)

    Niech Twój functions.php przeminauje się na taki:

    <?php
    function new_widgets_init() {
    
    	register_sidebar( array(
    		'name' => __( 'Blog', 'BuzzyBees' ),
    		'id' => 'blog',
    		'description' => __( 'Blog / Kategorie / Tagi', 'BuzzyBees' ),
    		'before_widget' => '<div class="content_right_widget">',
    		'after_widget' => '</div>',
    		'before_title' => '<h2>',
    		'after_title' => '</h2>',
    	) );
    
    	register_sidebar( array(
    		'name' => __( 'Strony', 'BuzzyBees' ),
    		'id' => 'sites',
    		'description' => __( 'O Nas / Oferta / Portfolio / Kontakt', 'BuzzyBees' ),
    		'before_widget' => '<div class="content_right_widget">',
    		'after_widget' => '</div>',
    		'before_title' => '<h2>',
    		'after_title' => '</h2>',
    	) );
    
    }
    
    add_action( 'widgets_init', 'new_widgets_init' );

    Sprawdź czy działa. Potem ogarnij, i pozmieniaj sobie pozmieniaj co potrzebujesz …

    Twórca wątku Raffuss

    (@raffuss)

    Znalazłem błęda i zaczęło chodzić.. Dzięki serdeczne za pomoc.

    Przy okazji spytam o coś. W pliku functions.php mam następujący kod:

    function register_my_menus() {
      register_nav_menus(
        array( 'header-menu' => __( 'Header Menu' ), 'extra-menu' => __( 'Footer Menu' ))
      );
    }
    add_action( 'init', 'register_my_menus' );

    w header.php
    <?php wp_nav_menu( array( 'header-menu' => 'Header Menu' ) ); ?>

    w footer.php
    <?php wp_nav_menu( array( 'extra-menu' => 'Footer Menu' ) ); ?>

    Pewnie to jedynie zwykła niewiedza, ale w obu miejscach (header i footer) wyświetla to samo menu, mimo przypisania każdemu oddzielnego.

    Moderator amistad18

    (@amistad18)

    Spróbuj tak:

    <?php wp_nav_menu( array( 'theme_location' => 'header-menu', 'menu_id' => 'header-menu' ) ); ?>

    … i napisz jakiego błęda znalazłeś, będzie dla potomnych.

Zobacz 9 odpowiedzi - od 1 do 9 (z 9 łącznie)
  • Temat ‘register_sidebar() nie działa’ jest zamknięty na nowe odpowiedzi.