Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jan Novák
Člen
Avatar
Jan Novák:24.6.2018 9:57

Ahoj, přidal jsem si shortcode na zobrazení výpisu kategorií dle navštívené stránky. Do functions.php:

function rubrikyDoWidgetu(){
$stranky=array('weby','basnicky');
$kategorie=array('weby'=>14,'basnicky'=>12);
foreach($stranky as $stranka){
    if ( is_page($stranka)==1) {
      $args = array(

                        'child_of'            => $kategorie[$stranka],
                        'current_category'    => $kategorie[$stranka],
                        'depth'               => 0,
                        'echo'                => 1,
                        'exclude'             => '',
                        'exclude_tree'        => '',
                        'feed'                => '',
                        'feed_image'          => '',
                        'feed_type'           => '',
                        'hide_empty'          => 0,
                        'hide_title_if_empty' => false,
                        'hierarchical'        => true,
                        'order'               => 'ASC',
                        'orderby'             => 'name',
                        'separator'           => '<br />',
                        'show_count'          => 1,
                        'show_option_all'     => '',
                        'show_option_none'    => __( 'No categories' ),
                        'style'               => 'list',
                        'taxonomy'            => 'category',
                        'title_li'            => __( 'Categories' ),
                        'use_desc_for_title'  => 0,
      );
    };
};
$categories = wp_list_categories($args);
if ( $categories ) {
        echo $categories;
};
};

add_shortcode('rubrWidget','rubrikyDoWidgetu');

Vcelku to funguje, ale ze zcela mě neznámého důvodu, se výsledný seznam nezobrazí např. do widgetu, ale nad něj...t.j mezi předchozí widget a ten, do kterého jsem ho s dobrého důvodu chtěl.
Neporadíte někdo, kde je chyba? Díky.

 
Odpovědět
24.6.2018 9:57
Avatar
Jan Novák
Člen
Avatar
Jan Novák:24.6.2018 11:18

Tak jsem si vzal brejle a na konci místo toho echa napsal return ;-) .... Přesto by mě zajímalo proč se to vypisovalo zrovna tam??

 
Nahoru Odpovědět
24.6.2018 11:18
Avatar
Pavel Mareš
Tvůrce
Avatar
Pavel Mareš:24.6.2018 19:33

Důvod je jednoduchej. Ta funkce se volá (inicializuje) před tím, než se widget vykreslí (když se tahají data). Widgety jsou různé bloky, ne jeden program. Tzn. zavolá se jeden, pak druhý, ...

Editováno 24.6.2018 19:34
Nahoru Odpovědět
24.6.2018 19:33
Však ono půjde ...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.