Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să afișați meniuri diferite utilizatorilor conectați în WordPress

Ați observat vreodată cât de confuz poate fi pentru vizitatorii site-ului dvs. WordPress atunci când sunt conectați, dar văd în continuare butoane „Autentificare” sau „Înregistrare” peste tot? Sau poate membrii dvs. se luptă să găsească tabloul de bord al contului lor, deoarece este îngropat în meniu.

Aceste mici frustrări îi pot face chiar și pe cei mai loiali utilizatori să se simtă ca niște străini pe propriul site web.

Și un meniu personalizat poate face toată diferența. Afișarea utilizatorilor conectați cu opțiuni precum „Contul meu” sau „Deconectare” în locul linkurilor generice face ca site-ul dvs. să pară mai primitor și mai profesionist.

Vestea bună? Crearea de meniuri dinamice în WordPress este mai ușoară decât ați crede.

În acest ghid, îți vom arăta două metode simple pentru a afișa meniuri diferite utilizatorilor conectați, indiferent de nivelul tău de experiență. 💡

Afișarea diferitelor meniuri de navigare utilizatorilor conectați și deconectați în WordPress

De ce să afișăm meniuri diferite utilizatorilor conectați în WordPress?

Modificarea diferitelor zone ale site-ului tău WordPress în funcție de vizitatorii tăi și de activitatea lor face ca site-ul tău să pară personalizat pentru fiecare utilizator.

Acest conținut personalizat vă ajută să îmbunătățiți experiența utilizatorului pe site-ul dvs. WordPress.

Acum, dacă aveți un site web unde utilizatorii nu trebuie să se înregistreze sau să se autentifice, probabil că puteți folosi aceleași meniuri de navigare pe întregul site. Cu toate acestea, alte site-uri web pot beneficia foarte mult de afișarea meniurilor personalizate pentru utilizatorii autentificați.

De exemplu, site-uri web precum un magazin online, o platformă de învățare online sau o comunitate de site de membri WordPress pot beneficia toate de meniuri de navigare personalizate.

Un meniu de navigare personalizat pentru utilizatorii conectați îi ajută să găsească mai ușor lucrurile pentru care s-au înscris.

De exemplu, un utilizator pe un magazin online își poate gestiona contul, sau un membru al unei comunități plătite își poate reînnoi cu ușurință abonamentul sau poate vizualiza cursurile online exclusive pe care le-au achiziționat.

Meniu diferit pentru utilizatorii conectați

În mod implicit, WordPress vă permite să creați oricâte meniuri de navigare doriți. Cu toate acestea, puteți alege să afișați un singur meniu într-o anumită locație în tema WordPress.

Înainte de a configura meniuri pentru utilizatorii conectați, va trebui mai întâi să creați două meniuri de navigare separate. Un meniu va fi pentru utilizatorii conectați, iar celălalt pentru utilizatorii deconectați. Să începem.

⚠️ Doar o notă rapidă! Metodele pe care le împărtășim sunt concepute pentru persoanele care folosesc teme clasice WordPress. Dacă folosiți o temă bazată pe blocuri cu funcționalități de Editare Completă a Site-ului (FSE) de la WordPress 5.8 încoace, această metodă s-ar putea să nu funcționeze. 

Crearea meniurilor pentru utilizatorii conectați și deconectați în WordPress

Pentru a crea meniuri separate pentru cele două tipuri de utilizatori, va trebui să accesați pagina Aspect » Meniuri din tabloul de bord WordPress.

Dacă aveți deja un meniu de navigare pe care îl utilizați pe site-ul dvs. pentru toți utilizatorii, atunci acesta poate fi meniul dvs. implicit.

Meniu principal

După aceea, puteți face clic pe linkul „creați un meniu nou” pentru a crea un nou meniu personalizat pentru utilizatorii dvs. conectați.

Aici, adăugați elementele de meniu pe care doriți să le afișați utilizatorilor înregistrați sau conectați. De exemplu, ați putea dori să adăugați un link de deconectare la meniul dvs..

În partea stângă a ecranului, puteți vedea o listă a paginilor site-ului dvs. web. Pur și simplu bifați căsuța de lângă orice pagină pe care doriți să o adăugați la meniul dvs. și faceți clic pe butonul „Adăugare la meniu”.

Meniu pentru utilizatorii conectați

De asemenea, poți trage și plasa elementele meniului pe partea dreaptă a ecranului pentru a le rearanja.

Mai jos pe pagină, puteți alege o locație pentru a afișa meniul dvs. Dar nu este necesar să atribuiți o locație acestui meniu acum. Vom face acest lucru mai târziu în articol.

Nu uitați să faceți clic pe butonul „Salvare meniu” pentru a salva modificările.

Pentru mai multe detalii despre crearea meniurilor, consultați ghidul nostru pentru începători despre meniurile de navigare WordPress.

Acum, sunteți gata să afișați meniuri diferite utilizatorilor conectați. Iată o prezentare rapidă a tuturor metodelor pe care le vom acoperi în acest ghid:

Gata să creați o experiență mai personalizată? Să începem! 🌟

Metoda 1. Afișați meniuri diferite utilizatorilor conectați în WordPress folosind un plugin

Cel mai simplu mod de a afișa diferite meniuri utilizatorilor conectați este să folosiți pluginul Conditional Menus. Deci, să-l instalăm și să-l activăm mai întâi.

Pentru mai multe detalii, puteți consulta ghidul nostru pas cu pas despre cum să instalezi un plugin WordPress.

La activare, va trebui să navigați la Aspect » Meniuri din tabloul de bord WordPress. Apoi, comutați la fila „Gestionare locații”.

De aici, veți vedea lista locațiilor de meniu disponibile definite în tema dvs. WordPress și meniurile care sunt afișate în prezent.

De exemplu, locația noastră „Meniu principal” afișează în prezent un „Meniu principal”.

Gestionați locațiile meniurilor

Acum, trebuie să spunem pluginului să afișeze un alt meniu atunci când o anumită condiție este îndeplinită.

Pentru a face acest lucru, să dăm clic pe linkul „+ Meniu condițional”. Apoi, puteți selecta meniul de navigare pe care doriți să îl afișați utilizatorilor conectați din meniul derulant.

Selectați meniul pentru utilizatorii conectați

Apoi, veți dori să faceți clic pe linkul „+ Condiții”.

Aceasta va deschide o fereastră pop-up unde vei vedea o mulțime de condiții din care să alegi.

Selectați utilizatorul conectat ca și condiție

Pur și simplu bifați căsuța de lângă opțiunea „User logged in” (Utilizator conectat), apoi faceți clic pe butonul „Save” (Salvare).

Acum puteți vizita site-ul dvs. web pentru a vedea meniul utilizatorului conectat în acțiune. De asemenea, vă puteți deconecta de la administratorul WordPress pentru a vizualiza meniul de navigare care va fi afișat tuturor celorlalți utilizatori.

Meniu diferit pentru utilizatorii conectați

Metoda 2. Selectați manual meniul pentru utilizatorii conectați în WordPress folosind cod

Această metodă necesită adăugarea de cod pe site-ul dvs. WordPress. Dacă nu ați mai făcut acest lucru înainte, consultați ghidul nostru despre cum să copiați și să lipiți fragmente de cod în WordPress.

În general, blogurile îți vor spune că trebuie să adaugi un fragment de cod în fișierul functions.php al temei tale sau într-un plugin specific site-ului. Cu toate acestea, nu recomandăm această metodă, deoarece poate cauza probleme site-ului tău.

În schimb, puteți utiliza pluginul WPCode.

WPCode vă permite să adăugați fragmente de cod personalizate pe site-ul dvs. fără a edita direct fișierele temei. De asemenea, ajută la gestionarea acestor fragmente și asigură că acestea sunt executate în siguranță, minimizând riscul de a vă defecta site-ul.

ℹ️ Notă: La mărcile noastre partenere, WPCode a fost instrumentul nostru preferat pentru adăugarea de fragmente personalizate pentru a extinde funcționalitatea fiecărui site. Dacă doriți să aflați mai multe, puteți citi recenzia noastră completă despre WPCode.

Pentru a începe, să instalăm pluginul WPCode. Puteți folosi versiunea gratuită WPCode, deoarece are toate funcționalitățile de care aveți nevoie pentru a afișa diferite meniuri utilizatorilor conectați.

Dar dacă doriți acces la funcții avansate, cum ar fi istoricul revizuirilor codului și programarea lansării fragmentelor, atunci luați în considerare upgrade-ul la WPCode Pro.

Odată instalat, veți dori să navigați la Fragmente de cod » + Adăugați fragmente.

Butonul Adaugă fragment în WPCode

Aceasta va deschide galeria de fragmente de cod a WPCode.

De aici, puteți face clic pe butonul „+ Adăugați un fragment personalizat”.

Adăugați butonul Snippet personalizat în WPCode

Veți ajunge apoi la editorul de text al WPCode.

Următorul pas este să adăugați un titlu la fragmentul de cod și să alegeți „Fragment de cod HTML” din meniul derulant „Tip de cod”.

Adăugarea titlului fragmentului și alegerea tipului de cod în WPCode

Odată terminat, pur și simplu copiați și lipiți următorul cod în câmpul „Previzualizare cod”:

function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
// Logged in menu to display
$args['menu'] = 43;

} else {
// Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

Iată cum ar putea arăta în editorul tău WPCode:

Fragmentul HTML personalizat din Previzualizarea Codului WPCode

Asigurați-vă că înlocuiți 43 și 35 cu ID-urile meniurilor de navigare pe care le-ați creat anterior.

Puteți găsi ID-ul unui meniu de navigare selectându-l pe pagina „Meniuri”. Veți vedea numărul ID-ului meniului în bara de adrese a browserului dvs.

Găsiți ID-ul meniului de navigare

Odată ce vă asigurați că toate detaliile sunt corecte, faceți clic pe butonul albastru „Salvare fragment”.

Și asta e tot!

Sfat bonus: Mai multe cazuri de utilizare a logicii condiționale în meniurile WordPress

Când vine vorba de navigare, logica condițională poate face mai mult decât să afișeze meniuri diferite pentru utilizatorii conectați. Iată câteva exemple rapide:

  • Afișează Meniuri Diferite în Funcție de Rolul Utilizatorului: Poți afișa un meniu diferit pentru administratori față de colaboratori. De exemplu, afișează opțiuni doar pentru administratori, cum ar fi setările site-ului sau gestionarea utilizatorilor, pentru administratori, oferind în același timp linkuri de navigare generale colaboratorilor sau altor roluri de utilizator.
  • Afișați meniuri diferite pe pagini diferite: Doriți un meniu unic pe pagina blogului sau pe paginile de produse? Logica condițională vă permite să creați meniuri specifice pentru fiecare, păstrând navigarea adaptată conținutului.
  • Ascundeți Navigația pe Paginile de Destinație: Paginile de destinație funcționează cel mai bine fără distrageri. Utilizați logica condițională pentru a ascunde meniul de navigare și a concentra atenția asupra apelului la acțiune, cum ar fi un formular de înscriere sau o ofertă de produs.

Pentru a afla mai multe, poți consulta ghidul nostru despre cum să adaugi logică condițională la meniuri în WordPress.

Întrebări frecvente: Afișarea meniurilor diferite pentru utilizatorii autentificați în WordPress

Încă aveți întrebări despre afișarea diferitelor meniuri utilizatorilor în WordPress? Iată câteva răspunsuri rapide pentru a vă ajuta:

Pot afișa meniuri diferite în funcție de rolurile utilizatorilor?

Absolut. Puteți afișa meniuri unice pentru Administratori, Editori sau orice alt rol de utilizator personalizat pe site-ul dvs. Pluginul Conditional Menus oferă o opțiune simplă pentru a configura acest lucru, ceea ce este perfect pentru personalizarea navigării pentru membrii echipei dvs.

Este mai bine să folosiți un plugin sau să adăugați cod manual?

Pentru majoritatea utilizatorilor, recomandăm utilizarea unui plugin precum Conditional Menus sau WPCode. Aceste instrumente facilitează afișarea diferitelor meniuri fără a atinge fișierele temei.

WPCode este deosebit de util dacă preferați flexibilitatea utilizării codului. Vă permite să adăugați în siguranță fragmente PHP personalizate și să le gestionați din tabloul de bord WordPress – nu este nevoie să editați direct fișierul functions.php.

Codarea manuală este încă o opțiune bună pentru dezvoltatori, dar pentru toți ceilalți, un plugin este alegerea mai sigură și mai prietenoasă pentru începători.

Pot ascunde meniul de navigare pe anumite pagini?

Da, puteți utiliza aceeași logică condițională pentru a ascunde meniul de navigare pe pagini specifice. Aceasta este o strategie populară pentru paginile de destinație, deoarece elimină distragerile și menține vizitatorul concentrat pe apelul la acțiune.

Resurse suplimentare: Roluri utilizator WordPress și navigare site

Sperăm că acest articol v-a ajutat să învățați cum să afișați cu ușurință meniuri de navigare diferite pentru utilizatorii conectați în WordPress. În continuare, ați putea dori, de asemenea, să consultați ghidurile noastre despre:

Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

101 CommentsLeave a Reply

  1. Inițial m-am gândit la un plugin. Trebuie să renunț la a gândi așa.
    Apoi am văzut postarea ta și am fost convins.
    Îți mulțumesc pentru postare, m-ai ajutat foarte mult.

  2. Salut,

    Acest lucru funcționează perfect!
    Dar îmi schimbă și meniul din subsol.. există o modalitate prin care meniul meu din subsol să rămână la fel?

  3. Deci, am 2 meniuri. Unul pentru public și altul pe care aș dori ca angajații să-l vadă când sunt conectați. Meniul angajaților ar înlocui meniul principal doar atunci când un angajat este conectat.

    Iată ce folosesc în prezent în fișierul meu functions.php

    // Setează rolul ca o clasă de corp

    funcție add_role_to_body( $classes ) {

    $user = wp_get_current_user();

    $user_roles = $user->roles; foreach( $user_roles as $role ) { $classes[] = ‘role-‘ . $role; }

    return $classes;

    }

    add_filter( ‘body_class’, ‘add_role_to_body’ );

    ***Aici este ceea ce am adăugat pentru CSS***

    /* Mai întâi ascunde elementele meniului pentru utilizatorii non-“angajat” */
    #top-menu li.menu-for-employee {
    display: none;
    }

    /* Afișează elementele de meniu pentru utilizatorul „angajat” */
    .role-employee #top-menu li.menu-for-employee { display: initial; }

    Când mă autentific ca angajat, ambele meniuri sunt afișate.

    Mulțumesc anticipat.

  4. Nu funcționează pentru mine. Afișează meniul implicit după ce adaug acest cod, chiar și meniul meu principal a dispărut.

  5. Salut băieți,

    Un tutorial bun, dar mă întrebam dacă ai putea folosi aceeași abordare pentru a înlocui un meniu receptiv la o anumită dimensiune a ecranului?

    Am două meniuri, dar aș prefera să am doar un singur meniu receptiv la 768 px, înlocuind meniul cu altul.

    Mulțumesc

  6. Muncă uimitoare cu ghidurile tale. Construiesc primul meu site WordPress și găsesc site-ul tău incredibil de util în ghidarea mea, mulțumesc.

    Voiam cu adevărat să afișez meniuri diferite pentru utilizatorii conectați (cum ar fi „editare profil”) și pentru utilizatorii deconectați, iar acest lucru m-a adus aici. Codul pe care l-ați partajat funcționează bine pentru mine. Acum am două meniuri care se afișează frumos. Cu toate acestea, ultima parte a codului, șirul add_filter, cred că mă încurcă puțin. Acum, un alt meniu se afișează sub widget-ul din bara laterală. Meniul „logged-in”. Folosesc tema sydney și am încercat, fără succes, să elimin acest meniu inutil. Aveți vreo idee cum pot face să nu se afișeze?

    • Salut Pet,

      Vă rugăm să verificați pagina Appearance » Widgets (Aspect » Widgeturi) pentru a vedea dacă aveți un meniu personalizat adăugat ca widget acolo. Dacă este acolo, îl puteți șterge pur și simplu.

      Admin

  7. Bună, mă puteți ajuta, vă rog? Am o altă problemă, vă rog? Trebuie să ascund un meniu pentru toți și să permit doar comercianților să vadă, ce am de făcut, vă rog? ce cod specific trebuie să folosesc, vă rog?

  8. Când modificați fișierul functions.php în acest fel - nu s-ar șterge când faceți upgrade la următoarea versiune WP?

  9. funcția setează și meniul secundar? eu vreau să setez doar meniul primar. cum fac asta

  10. această funcție de mai sus setează meniul secundar, tot ce vreau este să setez doar meniul antet?
    Cum să fac asta

  11. Salut,

    mulțumesc mult pentru această soluție, am aplicat-o și funcționează perfect și mi-a economisit instalarea unui plugin suplimentar.

  12. acesta este codul pentru înlocuirea meniului existent cu meniul pentru utilizatorul conectat prin adăugarea locației top-menu și cu meniul loggedin nu este necesar altfel cu acesta

    add_filter( 'wp_nav_menu_args', function ( $args )
    { if( is_user_logged_in() && $args['theme_location'] === 'top-menu' ) { $args['menu'] = 'loggedin'; } return $args; });

  13. ———————————————————–
    function my_wp_nav_menu_args( $args = ” ) {

    if( is_user_logged_in() ) { $args[‘menu’] = ‘logged-in’; } else { $args[‘menu’] = ‘logged-out’; } return $args; } add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ ); ———————————————————–

    Acum cum fac să funcționeze cu

    —————————————————

    ———————————————————————————————————————-

    Vă rugăm să ne sfătuiți

  14. Dacă vreau să ascund o pagină de utilizatorii deconectați dintr-un singur meniu, ce trebuie să fac?

    • Puteți bloca pagini pentru a le ascunde de utilizatorii deconectați. Există mai multe pluginuri care fac acest lucru foarte ușor. Users Ultra îmi vine în minte.

  15. Totul a funcționat perfect.

    Cu toate acestea, încă am problema unui meniu principal repetat în secțiunea de meniu de navigare secundară pe care nu reușesc să o elimin (nu am configurat un meniu secundar).

    • Am exact aceeași problemă. Schimbarea se reflectă în locația meniului secundar din senin și nici eu nu am configurat un meniu secundar. :/ Vă rog să mă sfătuiți cum să procedez.

      Mulțumesc anticipat.

  16. ASCULTĂ!!!

    Majoritatea dintre noi, folosește teme.
    Așadar, mai întâi accesați fișierul functions.php al temei dvs.
    Căutați cu navigare ca și cuvânt cheie.

    În cazul temei Shopkeeper...

    ================================================================== register_nav_menus( array( 'top-bar-navigation' => __( 'Navigare Bară Superioară', 'shopkeeper' ), 'main-navigation' => __( 'Navigare Principală', 'shopkeeper' ), 'footer-navigation' => __( 'Navigare Subsol', 'shopkeeper' ), ===================================================================

    Așa arăți.. deci alege-l pe cel care este principal, în cazul meu, este „Top Bar Navigation” de aceea am folosit „top-bar-navigation”

    Am folosit următorul cod și a funcționat ca uns!!!

    Aceasta este modalitatea mea de a mulțumi autorului.

    Bună ziua !!

  17. Iată ce a funcționat pentru mine cu WP. Am folosit acest lucru pentru a crea un meniu primar specific pentru utilizatorii Buddypress conectați. Nu va afecta meniul din subsol SAU meniul de rețele sociale pentru niciun vizitator, așa că toată lumea vede aceleași meniuri secundare, indiferent dacă sunt conectați sau nu. Acest lucru se bazează pe toate comentariile de mai sus (HT către Fransiska!).

    Am adăugat următoarele în fișierul functions.php al temei copil:

    // SCHIMBA MENIUL PRINCIPAL =DOAR= DACĂ MEMBRUL ESTE CONECTAT

    function my_wp_nav_menu_args( $args = "" ) { if ($args['theme_location'] == 'primary') { if( is_user_logged_in()) { $args['menu'] = 'logged-in'; }else{ $args['menu'] = 'logged-out'; } } return $args; }

    add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );

  18. Salut,
    Am adăugat acest cod (probabil greșit) în fișierul functions.php din tema mea, în editorul WordPress, și acum am o eroare constantă de server 500. Chiar și după ce am eliminat codul.

    Înainte de asta, am încercat să creez un plugin specific site-ului, dar nu a funcționat. Ați putea, vă rog, să-mi spuneți dacă fragmentul necesită o paranteză de deschidere și una de închidere?
    Dacă da, cum fac asta?
    Gazda mea nu mă poate ajuta acum și mi-au cerut să plătesc un programator pentru a mă ajuta cu 50 de euro pe oră. Vă rog să mă ajutați. Este urgent.
    Sunt încă conectat la WordPress, dar orice aș face, primesc eroarea 500 cu acest mesaj specific.
    Eroare de analiză PHP: eroare de sintaxă, ‘}’ neașteptat în linia 1194.
    Acest lucru se datorează faptului că am lipit fragmentul după tot textul din fișierul functions.php.
    Am apoi eliminat fragmentul pentru a vedea dacă asta ar rezolva problema, prin editor și FTP, și încă primesc eroarea.
    Aștept cu nerăbdare răspunsul dumneavoastră.
    Cu stimă

    • Depinde de unde adaugi codul. Dacă există o etichetă PHP de închidere înainte, atunci trebuie să adaugi o etichetă de pornire PHP precum <?php

      Dacă acest cod este ultimul lucru din fișierul functions, atunci nu trebuie să adăugați o etichetă de închidere.

      Admin

  19. Dacă aveți mai multe locații de meniu și doriți să aplicați meniuri diferite pentru fiecare locație, puteți utiliza codul de mai jos:

    function my_wp_nav_menu_args( $args = ” ) {

    // Primary menu location
    if( 'primary-main' == $args['theme_location'] ) {

    if( is_user_logged_in() ) { $args[‘menu’] = ‘Primary-Logged-In’; } else { $args[‘menu’] = ‘Primary-Logged-Out’; }

    return $args;
    }

    // Locația meniului secundar
    if( ‘secondary-menu’ == $args[‘theme_location’] ) {

    if( is_user_logged_in() ) { $args[‘menu’] = ‘Secondary-Logged-In’; } else { $args[‘menu’] = ‘Secondary-Logged-Out’; }

    return $args;

    }

    }
    add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );

  20. A fost aproape prea ușor!
    Mulțumesc mult pentru articolul simplu.

    În acest fel nu trebuie să instalez niciun plugin..

    • Salut Gaurang,
      Sunt curios să aflu de ce crezi că utilizarea pluginului este mai bună decât codificarea fișierului functions.php? Mi s-a spus cu ceva timp în urmă să fiu atent la câte pluginuri sunt de fapt utilizate pentru un site WordPress, iar codul de mai sus pare suficient de simplu; minus faptul că trebuie să monitorizezi de fiecare dată când tema ta se actualizează...

      Mulțumesc,

  21. Excelent, cum pot să-l folosesc pentru a afișa meniul pentru utilizatorul conectat care are un anumit rol?

  22. Acest lucru este grozav, l-am încercat. Funcționează. dar aș dori, de asemenea, să redirecționez în funcție de rol
    este asta simplu sau mult mai greu

  23. Mulțumesc. Lucrez cu funcții de meniu pentru prima dată.

    Crearea pluginului WTG Portal Manager care va permite definirea foarte rapidă a unui portal. Fiecare portal având propriul meniu. Pluginul face relația dintre portal și meniu mai clară, plus oferă alte opțiuni unice.

  24. mulțumesc pentru ajutor.. dar ce fac dacă vreau să afișez utilizatorilor diferiți postări pe site-ul meu.. există vreo modalitate de a face asta folosind cod?

  25. Sub Aspect > Meniuri, trebuie să alegeți o locație pentru meniul dvs. Se pare că există două zone pe site-ul dvs. unde puteți adăuga meniuri. Deci, trebuie să creați două meniuri diferite și apoi să le atribuiți o locație.

    • cum ar fi codul revizuit pentru aceasta, dacă ar exista o distincție între „Primar” și „Top”? $args[‘primary-menu’] = ‘logged-in’; $args[‘top-menu’] = ‘logged-in’;

      else

      $args[‘primary-menu’] = ‘logged-out’;
      $args[‘top-menu’] = ‘logged-out’;

      ?

    • Wordpress nu îmi permite să pun 2 meniuri în locația mea „antet superior”. Codul pe care l-ați furnizat funcționează, dar mi-a schimbat TOATE meniurile în cele pentru utilizatori conectați sau deconectați și nu afișează meniul meu de navigare normal.

  26. Am un meniu superior, precum și un meniu al site-ului (sub logo). Cum aș schimba codul pentru a schimba doar acel meniu superior. În prezent, TOATE meniurile mele se schimbă.

  27. Mulțumesc pentru asta.

    Pe pagina principală, numele meniurilor care au un submeniu (un meniu derulant) nu afișează derulantul. Când merg pe orice altă pagină care nu este pagina mea principală, aceasta nu este o problemă și toate elementele meniului sunt afișate.

    Acesta este cazul pe pagina de pornire atât pentru elementele pentru utilizatori conectați, cât și pentru cei deconectați. Aveți vreo idee cum să rezolv acest lucru? Mulțumesc

    http://www.viridianmgt.com/wordpress

  28. Schimbarea unui anumit meniu se poate realiza prin schimbarea $args[‘menu’] = ‘logged-in’;
    în $args[‘secondary-menu’] = ‘logged-in’; de exemplu. Ar trebui să funcționeze!

    • Acel cod nu funcționează. Am înregistrat un ‘primary-menu’ și un ‘secondary-menu’ și încerc funcția furnizată cu modificarea dvs. în args, dar nu se schimbă niciun meniu.

      Am rezolvat asta folosind acest cod:

      function my_wp_nav_menu_args( $args = "" ) { if ($args['theme_location'] == 'secondary-menu') { if( is_user_logged_in()) { $args['menu'] = 'logged-in'; }else{ $args['menu'] = 'logged-out'; } }else{ $args['menu'] = 'Principal'; } return $args; }

      add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );

      NOTĂ: „Principal” este numele meniului static primar.

      • Aproape, atât meniurile din subsol, cât și cele principale se schimbă. Încerc să schimb doar meniul din subsol. Am încercat atâtea variații ale acestui cod, dar fără succes. Aveți vreo idee de soluție?

        Când mi-am inspectat tema cu Firebug, a spus că subsolul meu este „id=footer-nav”. Ar trebui să folosesc acest nume în loc de „secondary-menu”?

        Mulțumesc mult

  29. Hurray! În sfârșit l-am găsit, nu mi-a trecut prin cap că o funcție atât de simplă mi-ar ușura munca atât de mult.
    Vă mulțumesc, băieți!

  30. Când încerc să introduc codul în fișierul functions.php, primesc următorul eroare:

    Parse error: syntax error, unexpected ’03’ (T_LNUMBER) in /home/grantkessler/public_html/wp-content/themes/GameNews/functions.php on line 201

  31. Mulțumesc mult pentru partajarea codului, dar adaugă acest meniu în toate zonele! Există o modalitate de a-l afișa doar într-un meniu specific?

  32. Am creat un plugin specific site-ului și meniurile funcționează bine, dar și meniul din footer a fost schimbat, nu arată cel pe care l-am selectat, ci cel pentru utilizatorii conectați sau deconectați.

  33. Salut, când încerc să introduc codul, îmi strică complet site-ul, afișând mesajul de eroare:

    function my_wp_nav_menu_args( $args = ” ) { if( is_user_logged_in() ) { $args[‘menu’] = ‘logged-in’; } else { $args[‘menu’] = ‘logged-out’; } return $args; } add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
    Warning: Cannot modify header information – headers already sent by (output started at /homepages/5/d156331781/htdocs/reviewthegame/wp-content/themes/Made-Theme/made/functions.php:12) in /homepages/5/d156331781/htdocs/reviewthegame/wp-includes/pluggable.php on line 899

  34. Există o modalitate de a aplica acest lucru doar unui meniu specific?
    Am încercat asta:
    if( $args->theme_location == ‘primary-menu’ ) {
    //Cod aici
    }
    , dar nu funcționează. Aveți idei cum să realizați acest lucru?

    • Acesta este ceea ce am făcut pentru a depăși problema celor două meniuri.
      Am eliminat acea funcție și am pus acest cod în header.php
      unde îmi apelam meniul.

      false,
      ‘menu_id’ => ‘nav’,
      ‘menu’ => ‘Registered’,
      ‘items_wrap’ => ‘%3$s’)
      );
      }
      else
      {
      wp_nav_menu( array(‘container’ => false,
      ‘theme_location’ => ‘primary’,
      ‘menu_id’ => ‘nav’,
      ‘items_wrap’ => ‘%3$s’,
      ) );
      }?>

      • Fransiska, poți să-ți explici sugestia mai departe? Am mai multe sub-meniuri pe care le pun în bare laterale, iar soluția de pe această pagină face ca toate acele meniuri scurte să devină acum meniuri complete cu toate numele meniului principal, niciunul dintre meniurile mele personalizate. Sugestia ta sună ca și cum am putea aplica acest truc doar poziției meniului principal, nu barelor laterale. Are sens? Poți să oferi codul complet? Nu am noroc să ghicesc cum se combină.

        joseph
        25 oct. 2013 la 1:16 am

        Există o modalitate de a aplica acest lucru doar unui meniu specific?
        Am încercat asta:
        if( $args->theme_location == ‘primary-menu’ ) {
        //Cod aici
        }
        , dar nu funcționează. Aveți idei cum să realizați acest lucru?

        Fransiska
        31 ianuarie 2014 la 2:53 AM

        Utilizați

        if ($args[‘theme_location’] == ‘primary’)

        în loc și va funcționa

  35. Sfat excelent, a venit la momentul perfect în dezvoltarea site-ului meu.

    Funcționează perfect! Cred că voi extinde acest lucru pentru a afișa meniuri diferite pentru diferite user_meta.

    Mulțumim pentru distribuire!

  36. Salut, mulțumesc pentru asta, foarte util. totuși, încă nu sunt sigur unde să pun codul? (După crearea meniurilor, adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului) – unde este fișierul functions.php? Salutări

    • Accesați Aspect » Editor veți vedea fișierul functions.php în lista de fișiere din dreapta. Totuși, dacă nu vedeți un fișier functions.php acolo, înseamnă că folosiți un framework de temă sau o temă copil. În acest caz, trebuie să creați un plugin specific site-ului dvs. și să adăugați acest cod în acel plugin. Consultați ghidul nostru despre plugin specific site-ului.

      Admin

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.