X

Etichete condiționale WordPress: Foaie de trișare și ghid (2026)

Etichetele condiționale WordPress sunt o caracteristică excelentă a WordPress care vă permite să controlați ce conținut este afișat pe o pagină. Există etichete condiționale pentru diferite zone ale site-ului dvs. web, cum ar fi pagina de pornire, postările de pe blog și paginile. Acest lucru vă permite să schimbați ceea ce este afișat pe site-ul dvs. web. De exemplu, ați putea schimba logo-ul site-ului dvs. web în diferite zone ale site-ului dvs. web.

În acest tutorial, voi explica ce etichete condiționale vă sunt disponibile și vă voi arăta cum pot fi utilizate în teme și plugin-uri.

Cum funcționează etichetele condiționale WordPress

Etichetele condiționale sunt un tip de date boolean care poate returna doar adevărat sau fals. Eticheta is_home(), de exemplu, se referă la indexul blogului. Putem folosi această etichetă pentru a afișa un mesaj vizitatorilor blogului nostru. Acest mesaj nu va fi afișat în altă parte.

Codul este simplu. Tot ce facem mai jos este să verificăm dacă pagina afișată este pagina de index a blogului. Dacă este, afișăm mesajul nostru.

<?php         

if ( is_home()) {

echo "Welcome to Our Blog!!";

}

?>

Cele de mai sus sunt un exemplu de bază a ceea ce se poate realiza folosind tag-uri condiționale, însă, în esență, cam asta este tot. Pur și simplu verificați tipul paginii care este afișată. În funcție de faptul dacă rezultatul este adevărat sau fals, este acționat un alt fragment de cod.

Înainte de a examina mai multe exemple despre cum pot fi utilizate tag-urile condiționale, să ne uităm mai întâi la tag-urile condiționale populare pe care probabil le veți vedea utilizate în temele dumneavoastră WordPress.

  • is_home() – Verifică dacă este afișată pagina principală a blogului. Aceasta poate fi sau nu și pagina ta de pornire.
  • is_front_page() – Verifică dacă este afișată pagina ta de pornire. Aceasta funcționează indiferent dacă setările paginii de pornire sunt configurate pentru a afișa articolele blogului (adică indexul blogului) sau o pagină statică.
  • is_single() – Verifică dacă este afișat un tip oarecare de articol individual (excluzând atașamentele).
  • is_attachment() – Verifică dacă este afișat un atașament.
  • is_page() – Verifică dacă este afișată o pagină.
  • is_singular() – Verifică dacă este afișat un articol individual, un atașament sau o pagină. Se returnează true dacă oricare dintre aceste condiții este îndeplinită.
  • is_category() – Verifică dacă este afișată o pagină de arhivă de categorie.
  • is_search() – Verifică dacă este afișată o pagină cu rezultatele căutării.
  • is_tag() – Verifică dacă este afișată o arhivă de etichetă.
  • is_author() – Verifică dacă este afișată o pagină de arhivă a autorului.
  • is_archive() – Verifică dacă este afișată o pagină de arhivă de orice tip, inclusiv arhive de categorii, etichete, date și autori.
  • is_sticky() – Verifică dacă un articol a fost definit ca important.
  • is_multi_author() – Verifică dacă mai mult de un autor a publicat articole pe site. Se returnează true dacă două sau mai multe persoane au publicat articole. Dacă doar un singur autor a publicat articole sau dacă nu a fost publicat niciun articol, se returnează false.

Există șase etichete condiționale bazate pe timp pe care le veți găsi, de asemenea, utile. Aceste etichete se referă la paginile de arhivă de date. De exemplu, URL-ul http://www.yourwebsite.com/2013/12/ este o pagină de arhivă bazată pe lună.

Dacă oricare dintre următoarele etichete condiționale returnează true, is_archive() ar fi, de asemenea, true.

  • is_date() – Verifică dacă este o pagină de arhivă bazată pe dată.
  • is_year() – Verifică dacă este o pagină de arhivă bazată pe an.
  • is_month() – Verifică dacă este o pagină de arhivă bazată pe lună.
  • is_day() – Verifică dacă este o pagină de arhivă bazată pe zi.
  • is_time() – Verifică dacă este o pagină de arhivă bazată pe timp.
  • is_new_day() – Verifică dacă astăzi este o nouă zi. Dacă articolul curent a fost publicat într-o zi diferită față de articolul anterior publicat, va returna true. Se va returna false dacă ambele articole au fost publicate în aceeași zi.

Veți întâlni frecvent etichete condiționale precum is_home() și is_single(), însă nu este necesar să le memorați pe toate. Majoritatea utilizatorilor WordPress consultă codexul WordPress pentru eticheta condițională potrivită atunci când au nevoie să configureze o funcție condițională.

Exemple de etichete condiționale

Multe etichete condiționale permit transmiterea de parametri către funcție. Acest lucru vă oferă un control mult mai mare asupra condițiilor care trebuie îndeplinite înainte ca ceva să fie acționat. is_page() este un bun exemplu în acest sens. Eticheta vă permite să verificați dacă pagina afișată este o pagină. is_page() va returna o valoare true dacă este afișată orice pagină, însă trebuie să specificați parametrul $page dacă doriți să fiți mai specific. Parametrul $page poate fi ID-ul paginii, titlul paginii sau slug-ul paginii.

Să considerăm un site web obișnuit care are o pagină "despre noi" și doriți să personalizați pagina "despre noi" diferit de toate celelalte pagini. De exemplu, ați putea afișa o fotografie a companiei dumneavoastră în partea de sus a barei laterale sau ați putea afișa informații suplimentare în partea de jos a paginii "despre noi".

Pentru a face acest lucru, trebuie să definiți parametrul $page. Dacă ID-ul paginii ar fi 10, ați putea deschide declarația condițională cu ceva de genul acesta:

if ( is_page(10) ) {

O pagină specifică poate fi, de asemenea, specificată prin transmiterea titlului paginii către funcție.

if ( is_page( 'About Us' ) ) {

Slug-ul paginii poate fi, de asemenea, utilizat. După cum vă amintiți, slug-ul paginii este identificatorul unic numit de la sfârșitul URL-ului. Dacă URL-ul paginii dumneavoastră "despre noi" ar fi www.site-ul-tau.com/despre-compania-noastra/, slug-ul paginii ar fi despre-compania-noastra.

if ( is_page( 'about-our-company' ) ) {

Unele etichete condiționale, cum ar fi is_page(), pot, de asemenea, să transmită parametri într-un array. Următoarea declarație condițională va returna o valoare adevărată dacă oricare dintre condiții este adevărată.

if ( is_page( array( 10, 'About Us', 'about-our-company' ) ) ) {

Este obișnuit ca dezvoltatorii să seteze mai mult de o condiție atunci când folosesc etichete condiționale. Să revenim la sarcina simplă de a afișa un mesaj de bun venit vizitatorilor blogului. Acesta este ceva ce un site web corporativ ar putea dori să adauge în zona blogului lor, dar nu și în alte zone ale site-ului lor (de exemplu, pagina de pornire, pagina de contact, pagina despre etc.).

Aceștia pot face acest lucru folosind etichetele condiționale is_home() și is_single(); care reprezintă indexul blogului și postările individuale, respectiv. Pentru a afișa un mesaj în ambele zone, trebuie să utilizați operatorul logic SAU ||. Acest lucru este ilustrat în codul de mai jos. Declarația inițială if verifică dacă pagina este indexul blogului sau o postare individuală. Dacă oricare dintre acestea este adevărată, mesajul este afișat.

<?php         

if ( is_home() || is_single() ) {

echo "Welcome to Our Blog!!";

}

?>

Un alt operator logic foarte util este operatorul ȘI &&. Acesta este utilizat atunci când doriți ca două sau mai multe condiții să fie adevărate înainte ca ceva să fie acționat. Următoarea declarație if verifică dacă o pagină este atât o pagină de arhivă, cât și clasificată sub categoria știri. În paginile categoriei știri, mesajul de bun venit va fi afișat. Nimic nu va fi afișat în alte categorii.

<?php 

if ( is_archive() && is_category( 'News' ) ) {

echo "Welcome to the News Archives";

}

?>

Operatorii ȘI și SAU pot fi combinați. Exemplul de mai jos este preluat din fișierul template functions.php al temei implicite WordPress Twenty Thirteen. Funcția este utilizată pentru a afișa titlul paginii în browser, însă doar o parte a funcției este afișată mai jos.

Declarația if returnează o valoare adevărată dacă există o descriere a site-ului și utilizatorul vizualizează indexul blogului sau pagina de pornire. Descrierea site-ului poate fi introdusă prin câmpul tagline din zona setărilor generale. Dacă completați acest câmp, pe indexul blogului și pe pagina de pornire, bara de titlu va afișa „Titlu Site | Descriere Site” (notă: separatorul este afișat folosind șirul $sep în codul de mai jos). Dacă nu, bara de titlu va afișa „Titlu Site”.

După cum puteți vedea, is_home și _is_front_page sunt privite ca o singură entitate datorită operatorului SAU. Acesta este motivul pentru care sunt încadrate în paranteze.

if ( $site_description && ( is_home() || is_front_page() ) )
		$title = "$title $sep $site_description";

Un alt operator logic PHP pe care îl puteți folosi este operatorul NU !. Acesta este mai practic de utilizat în multe circumstanțe. De exemplu, să spunem că doriți să afișați o fotografie pe toate paginile dvs., cu excepția arhivelor. Nu este necesar să configurați o declarație condițională lungă care întreabă „Este aceasta pagina principală, este acesta un post unic, este aceasta o pagină…”. Este mai practic să întrebați pur și simplu „Nu este aceasta o pagină de arhivă?”.

Pentru a face acest lucru, pur și simplu adăugați un semn de exclamare înainte de eticheta condițională. Codul de mai jos arată cât de simplu este acest lucru în practică. Acesta va afișa o imagine pe fiecare pagină a site-ului dvs. web, cu excepția paginilor de arhivă.

<?php 

if ( !is_archive() ) { ?>

<img src="photo.jpg" />

<?php 

}

?>

Până acum, am analizat exemple de bază de utilizare a etichetelor condiționale, unde ceva este fie acționat, fie nu este acționat (adică, dacă A este adevărat, faceți B). În practică, există de obicei o altă acțiune de făcut dacă o condiție nu este îndeplinită. În plus, pot exista mai multe condiții care pot fi îndeplinite, cu un răspuns diferit pentru fiecare.

În loc să scrieți multe instrucțiuni individuale pentru aceasta, este practic să utilizați instrucțiuni else și elseif. Acest lucru vă permite un grad mai mare de control asupra a ceea ce este afișat pe site-ul dvs. web.

Putem arăta acest lucru folosind un exemplu. Să spunem că doriți să afișați un logo diferit pe site-ul dvs. web în diferite zone ale site-ului dvs. web. Cum ați face acest lucru? Răspunsul este simplu: Folosim instrucțiuni else și elseif. Codul de mai jos arată cum se poate realiza acest lucru.

<?php 

if ( is_home() || is_front_page() ) { ?>

<img src="logo-home.png" />

<?php 

} elseif ( is_category() ) { ?>

<img src="logo-category.png" />

<?php 

} elseif ( is_single() ) { ?>

<img src="logo-blog-post.png" />

<?php 

} elseif ( is_page() ) { ?>

<img src="logo-page.png" />

<?php 

}

else { ?>

<img src="logo-general.png" />

<?php 

}

?>

În funcție de zona site-ului web pe care o vizualizează un vizitator, unul dintre cele cinci logo-uri ar fi afișat folosind codul de mai sus. Este un exemplu de bază care ilustrează cât de ușor pot fi utilizate instrucțiunile else și elseif pentru a controla multe zone diferite ale site-ului dvs. web.

Instrucțiunile Elseif sunt, de asemenea, utilizate în alte părți ale WordPress. Majoritatea șabloanelor functions.php le folosesc și multe teme WordPress le folosesc pentru a schimba modul în care titlul site-ului lor este afișat în browsere.

Mai multe etichete condiționale

Există un număr de etichete condiționale suplimentare disponibile. Multe dintre acestea sunt utilizate de dezvoltatori în teme și plugin-uri.

Mai jos este o listă cu unele dintre celelalte etichete condiționale care vă sunt disponibile.

  • is_tax() – Verifică dacă este afișată o pagină de arhivă de taxonomie personalizată.
  • has_term() – Verifică dacă articolul curent are unul dintre termenii specificați.
  • taxonomy_exists() – Verifică dacă există numele taxonomiei.
  • post_type_exists() – Verifică dacă există un tip de articol.
  • is_post_type_hierarchical( $post_type ) – Verifică dacă tipul de articol este ierarhic.
  • is_post_type_archive() – Verifică dacă este afișată pagina de arhivă a unui tip de articol specific.
  • is_comments_popup() – Verifică dacă fereastra pop-up pentru comentarii este deschisă.
  • comments_open() – Verifică dacă sunt permise comentariile pentru articolul sau pagina curentă.
  • pings_open() – Verifică dacă sunt permise ping-urile pentru articolul sau pagina curentă.
  • is_feed() – Verifică dacă interogarea curentă este pentru un feed.
  • is_404() – Verifică dacă este afișată o eroare 404.
  • is_paged() – Verifică dacă pagina pe care o vizualizați în prezent este o pagină paginată, alta decât pagina unu. Postările și paginile sunt paginate atunci când utilizați eticheta rapidă nextpage în conținutul dvs. pentru a împărți postări mari.
  • is_trackback() – Verifică dacă se utilizează un trackback.
  • is_admin() – Verifică dacă utilizatorul este conectat în zona de administrare. Nu este utilizat pentru a verifica dacă un utilizator are privilegii de administrator, ci doar dacă este conectat la tabloul de bord WordPress.
  • is_page_template() – Verifică dacă pagina vizualizată utilizează un șablon de pagină. Un șablon de pagină specific poate fi definit, dacă este necesar.
  • is_preview() – Verifică dacă o postare de blog este vizualizată în modul schiță.
  • has_excerpt() – Verifică dacă postarea curentă are un rezumat. Se pot defini postări specifice.
  • has_nav_menu() – Verifică dacă o locație de meniu are un meniu atribuit. Acest lucru este utilizat de dezvoltatorii de teme pentru a afișa ceva în cazul în care utilizatorul nu a adăugat un meniu.
  • in_the_loop() – Verifică dacă apelantul se află încă în bucla WordPress.
  • is_active_sidebar( $index ) – Verifică dacă o anumită bară laterală este utilizată.
  • is_multisite() – Verifică dacă multisite este suportat.
  • is_main_site() – Verifică dacă un multisite este site-ul principal din rețea.
  • is_super_admin() – Verifică dacă un utilizator este un super administrator în cadrul rețelei.
  • is_plugin_active( $plugin ) – Verifică dacă un plugin este activat.
  • is_child_theme() – Verifică dacă este utilizată o temă copil.
  • current_theme_supports( $feature ) – Verifică dacă o temă suportă o anumită funcționalitate, cum ar fi formatele de postări sau imaginile de prezentare.

Verificați, de asemenea: Cum să Eliminați taxonomiile implicite.

Etichetele condiționale sunt un concept important în WordPress. Datorită utilității lor, există puține teme WordPress care sunt proiectate fără ele. Odată ce înțelegeți instrucțiunile else, elseif și operatorii logici precum AND, OR și Not; veți putea aborda orice funcție condițională.

Sper că acest ghid v-a ajutat să învățați cum să utilizați etichetele condiționale WordPress în temele dvs.

Dacă v-a plăcut acest articol, alăturați-vă IsItWP pe Twitter.

Comentarii   Lasă un răspuns

  1. salut, am o problemă la executarea instrucțiunii condiționale…

    if ( is_home() || is_front_page() || is_page_template(‘templates/template-home.php’) ) { // } elseif ( is_page() && $inner_disable == ‘disable’ ) { // } elseif (is_singular( array( ‘products’ ) ) ) { trav_get_template( ‘inner-3.php’, ‘/templates/inners’ ); }////am obținut asta funcționând elseif ( is_page() && is_page_template( ‘templates/custom-page.php’ ) ) { trav_get_template( ‘inner-p.php’, ‘/templates/inners’ );////dar nu obțin acest rezultat…în schimb obțin cel de mai jos pentru această condiție de asemenea. } else { trav_get_template( ‘inner-1.php’, ‘/templates/inners’ ); }

    1. Primiți un mesaj de eroare?

  2. Northwesterner May 27, 2019 at 7:13 pm

    Cu excepția faptului că predarea: { ?> cu acolada situată în interiorul tag-ului de închidere php este o sintaxă incorectă. Consultați tutorialele de cod WP sau PHP.

  3. Martins Toritseju April 27, 2019 at 11:13 pm

    Acesta este un tutorial foarte bun. M-a ajutat mult la crearea temei mele copil.

    1. Hei Martin, mă bucur că a ajutat. Urmăriți-ne pe Facebook și Twitter pentru mai multe tutoriale. 🙂

  4. Henrique Silvério June 4, 2014 at 1:47 pm

    Sfaturi bune. Înțelegerea modului de utilizare a etichetelor condiționale este o cerință cheie pentru dezvoltatorii WordPress. 🙂

  5. Nebulas Website Design May 22, 2014 at 6:16 am

    Mulțumesc pentru asta, trebuie să fac niște lucrări pe site-ul unui client, astfel încât un link să apară doar într-o anumită categorie de magazin, așa că acest lucru va fi util, mulțumesc.

Adaugă un comentariu

Suntem bucuroși 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 confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!