Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Divné zobrazování shortcode ve wordpressu

HTML a CSS Redakční systémy Divné zobrazování shortcode ve wordpressu American English version English version

Aktivity (1)
Avatar
Jan Novák
Člen
Avatar
Jan Novák:24. června 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. června 9:57
Avatar
Jan Novák
Člen
Avatar
Jan Novák:24. června 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. června 11:18
Avatar
Pavel Mareš
Redaktor
Avatar
Pavel Mareš:24. června 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. června 19:34
Nahoru Odpovědět 24. června 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.