Problém s vypsáním jména uživatele

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Problém s vypsáním jména uživatele

Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 9 let, 10 měsíců.

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)
  • Autor
    Příspěvky
  • #19249

    Bruno
    Participant
    Web

    Zdravím, pomocí návodu zde. Jsem se pokoušel vložit přezdívku přihlášeného uživatele do menu v šabloně a pokud je odhlášen tak aby se zobrazovalo Přihlásit se. Vše funguje jak má, jen se nezobrazí ta přezdívka. Pokud to použiji normálně někde jinde nežli v menu tak to jde.

    Poradíte mi jak to celé dát do menu aby se zobrazovala hlavně ta přezdívka? Děkuji!!!

    Kod v menu vypadá takto. (byl přidán do function.php)

    function add_login_logout_link($items, $args)
    {
    if(is_user_logged_in())
    {
    $newitems = '<li>Jste přihlášen jako <a href="/profile">'.$current_user->display_name.'</a></li>';
    $items .= $newitems;
    }
    else
    {
    $newitems = '<li><a title="Přihlásit se" href="'. wp_login_url('index.php') .'">Přihlásit se</a></li>';
    $items .= $newitems;
    }
    return $items;
    }
    add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2);

    Pokud to chci zobrazit v šabloně kromě v menu tak to vypadá takto.

    <li><a href="/profile"><?php global $userdata; get_currentuserinfo(); echo get_avatar( $userdata->ID, 28 ); ?></a></li>
    <li><?php
    if ( is_user_logged_in() ) {
    global $current_user;
    get_currentuserinfo();
    
    echo '<ul id="mem" class="clearfix">
    
            ';
    } else {
    echo '<ul id="mem" class="clearfix">
                <a href="/profile">Přihlásit se</a>
            ';
    }
    ?></li>
    #19250

    weskomfort
    Participant
    Web

    Dobrý den,
    pokud se dobře dívám tak v menu používáte na výpis
    $current_user->display_name
    ale nějak nevidím že by jste před tím volal funkci
    wp_get_current_user()
    Naopak v šabloně zase používáte funkci
    get_currentuserinfo()

    Zkuste se první podívat na tyto funkce do Codexu wordpressu
    wp get current user
    get currentuserinfo

    #19288

    Bruno
    Participant
    Web

    Díky! Ovšem jsem trochu v tomhle “lajk”. Mohl by jste mi s tím více poradit? Děkuji!

    #19290

    admin
    Keymaster
    Web

    Ve funkci add_login_logout_link() pro zobrazení vlastní položky menu používáte proměnnou $current_user->display_name, která ale není nikde definována (takže má nulovou hodnotu). Musíte před ní přidat následující řádek:

    $current_user = wp_get_current_user();

    Tím se i proměnná $current_user->display_name naplní příslušným uživatelským jménem.

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti