Ghidul final pentru etichetele condiționale WordPress

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ționate pentru diferite domenii ale site-ului dvs. web, cum ar fi pagina dvs. de pornire, postări de blog și pagini. Acest lucru vă permite să modificați ceea ce este afișat pe site-ul dvs. web. De exemplu, puteți schimba logo-ul site-ului dvs. în diferite zone ale site-ului.


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

Modul de funcționare a etichetelor WordPress

Etichetele condiționate sunt un tip de date booleane 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, ne afișăm mesajul.

<?php

if (is_home ()) {

ecou "Bine ați venit la blogul nostru!!";

}

?>

Cele de mai sus sunt un exemplu de bază a ceea ce se poate realiza folosind etichete condiționate, cu toate acestea, este în esență tot ce există. Pur și simplu verificați tipul de pagină care este afișat. În funcție de dacă rezultatul este adevărat sau fals, se acționează o altă bucată de cod.

Înainte de a privi mai multe exemple despre modul în care pot fi utilizate etichetele condiționale, să ne uităm mai întâi la etichetele condiționate populare pe care probabil că le vedeți utilizate în temele dvs. WordPress.

  • este acasa() – Verifică dacă este afișat indexul postării blogului. Aceasta poate fi sau nu și pagina ta de pornire.
  • is_front_page () – Verifică dacă pagina dvs. de pornire este afișată. Acest lucru funcționează dacă setările pentru prima pagină sunt configurate pentru a afișa postări pe blog (adică indexul blogului) sau o pagină statică.
  • este singur() – Verifică pentru a vedea dacă este afișat vreun tip de post unic (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ă o singură postare, atașament sau pagină. Adevărat este returnat dacă una dintre aceste condiții sunt îndeplinite.
  • is_category () – Verifică dacă este afișată o pagină de arhivă de categorii.
  • is_search () – Verifică dacă este afișată o pagină cu rezultatele căutării.
  • is_tag () – Verifică dacă este afișată o arhivă de etichete.
  • is_author () – Verifică dacă este afișată o pagină de arhivă a autorului.
  • is_archive () – Verifică dacă se afișează orice tip de pagină de arhivă, inclusiv arhive de categorie, etichetă, dată și autor.
  • is_sticky () – Verifică dacă o postare a fost definită ca fiind lipicios.
  • is_multi_author () – Verifică dacă mai mult de un autor a publicat postări pe site-ul web. Adevărat este returnat dacă două sau mai multe persoane au publicat postări. Dacă un singur autor a publicat postări sau dacă nu s-au publicat deloc postări, se returnează false.

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

Dacă oricare dintre următoarele etichete condiționate se întoarce, is_archive () ar fi, de asemenea, adevărat.

  • is_date () – Verifică dacă este o pagină de arhivă pe bază de date.
  • is_year () – Verifică dacă este o pagină de arhivă bazată pe un an.
  • is_month () – Verifică dacă este o pagină de arhivă pe o lună.
  • is_day () – Verifică dacă este o pagină de arhivă bazată pe o zi.
  • este timpul() – Verifică dacă este o pagină de arhivă bazată pe timp.
  • is_new_day () – Verifică dacă astăzi este o nouă zi. Dacă postarea curentă a fost publicată într-o zi diferită de cea anterioară publicată, aceasta ar reveni adevărat. Falsul va fi returnat dacă ambele postări au fost publicate în aceeași zi.

Veți găsi etichete condiționale, cum ar fi is_home () și is_single () frecvent, însă nu trebuie să vă amintiți toate aceste etichete condiționale. Majoritatea utilizatorilor WordPress se referă la codul WordPress pentru eticheta condițională corespunzătoare atunci când trebuie să configureze o funcție condiționată.

Exemple de etichete condiționate

Multe etichete condiționale permit trecerea parametrilor la funcție. Acest lucru vă oferă mult mai mult control asupra condițiilor care trebuie îndeplinite înainte de a acționa ceva. 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ă, totuși trebuie să specificați parametrul paginii $ dacă doriți să fiți mai specific. Parametrul paginii $ poate fi ID-ul paginii, titlul paginii sau slug-ul paginii.

Să luăm în considerare un site web obișnuit care are o pagină despre și doriți să personalizați pagina despre altfel față de toate celelalte pagini. De exemplu, puteți afișa o fotografie a companiei dvs. în partea de sus a barei laterale sau puteți afișa informații suplimentare în partea de jos a paginii aproximativ.

Pentru a face acest lucru, trebuie să definiți parametrul paginii $. Dacă ID-ul paginii a fost 10, puteți deschide declarația dvs. condițională cu ceva de genul:

if (is_page (10)) {

O pagină specifică poate fi de asemenea specificată trecând titlul paginii la funcție.

if (is_page (‘Despre noi’)) {

Poate fi de asemenea folosit slug de pagină. După cum vă amintiți, slug-ul de pagină este identificatorul numit unic la sfârșitul adresei URL. Dacă adresa URL a paginii dvs. ar fi www.yourwebsite.com/about-our-company/, lama de pagină ar fi despre compania noastră.

if (is_page (‘despre-compania noastră’)) {

Unele etichete condiționate, cum ar fi is_page (), pot trece, de asemenea, parametrii într-un tablou. Următoarea declarație condițională va întoarce o valoare de adevărat dacă oricare dintre condiții sunt adevărate.

if (is_page (tablou (10, ‘Despre noi’, ‘about-our-company’))) {

Este comun ca dezvoltatorii să stabilească mai multe condiții atunci când folosesc etichete condiționate. Să revenim la sarcina simplă de a afișa un mesaj de bun venit vizitatorilor blogului. Acest lucru este un lucru pe care un site web corporativ ar putea dori să îl adauge în zona blogului său, dar nu și în alte zone ale site-ului lor (de ex. Pagina principală, pagina de contact, pagina etc).

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

<?php

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

ecou "Bine ați venit la blogul nostru!!";

}

?>

Un alt operator logic care este foarte util este operatorul AND &&. Acest lucru este utilizat atunci când doriți ca două sau mai multe condiții să fie adevărate înainte de a acționa ceva. Următoarea, dacă instrucțiunea verifică dacă o pagină este atât o pagină de arhivă, cât și categorizată în categoria știri. În paginile categoriei de știri, mesajul de întâmpinare va fi afișat. Nimic nu va fi afișat în alte categorii.

<?php

if (is_archive () && is_category (‘Stiri’)) {

ecou "Bine ați venit la Arhivele de știri";

}

?>

Operatorii AND și OR pot fi combinați. Exemplul de mai jos este preluat din șablonul funcții.php al temei implicite WordPress Douăzeci și Treisprezece. Funcția este utilizată pentru a afișa titlul paginii în browser, însă o parte a funcției este prezentată mai jos.

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

După cum puteți vedea, is_home și _is_front_page sunt vizualizate ca o singură entitate datorită operatorului OR. Acesta este motivul pentru care sunt înfășurați în paranteze.

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

Un alt operator logic PHP pe care îl puteți utiliza este operatorul nu! Acest lucru 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ă stabiliți o declarație condiționată lungă care să ceară „Este pagina principală, este o singură postare, aceasta este o pagină…”. Este mai practic să vă î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ă. Va afișa o imagine pe fiecare pagină a site-ului dvs. web, cu excepția paginilor de arhivă.

<?php

if (! is_archive ()) { ?>

<?php

}

?>

Până acum, am analizat exemple de bază ale etichetelor condiționale utilizate în cazul în care ceva este fie acționat, fie nu este acționat (adică dacă A este adevărat, faceți B). În practică, de obicei, există 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 la fiecare.

În loc să scrieți o mulțime de enunțuri individuale pentru acest lucru, este practic să folosiți instrucțiuni altceva și altele. 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. Permiteți-ne să spunem că doriți să afișați un logo diferit pe site-ul dvs. web în diferite zone ale site-ului dvs. Cum ai face asta? Răspunsul este simplu: Folosim enunțuri altfel și altele. Codul de mai jos arată cum se poate realiza acest lucru.

<?php

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

<?php

} elseif (is_category ()) { ?>

<?php

} elseif (is_single ()) { ?>

<?php

} elseif (is_page ()) { ?>

<?php

}

altfel { ?>

<?php

}

?>

În funcție de ce zonă a site-ului web vizionează un vizitator, unul dintre cele cinci logo-uri va fi afișat folosind codul de mai sus. Este un exemplu de bază care ilustrează cât de ușor pot fi utilizate declarații altfel și altele pentru a controla mai multe domenii diferite ale site-ului dvs. web.

Declarațiile Elseif sunt utilizate și în alte părți ale WordPress. Majoritatea șabloanelor funcții.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ționate

Există o serie de etichete condiționale suplimentare disponibile. Multe dintre acestea sunt utilizate de dezvoltatori în teme și pluginuri.

Mai jos este o listă a celorlalte etichete condiționale care vă sunt disponibile.

  • is_tax () – Verifică dacă este afișată o pagină de arhivă cu taxonomie personalizată.
  • has_term () – Verifică dacă postarea curentă are unul dintre termenii specificați.
  • taxonomy_exists () – Verifică dacă există numele taxonomiei.
  • post_type_exists () – Verifică dacă există un tip de postare.
  • este_post_type_hierarchical ($ post_type) – Verifică dacă tipul de post este ierarhic.
  • is_post_type_archive () – Verifică dacă pagina de arhivă a unui anumit tip de post este afișată.
  • is_comments_popup () – Verifică pentru a vedea dacă fereastra pop-up de comentarii este deschisă.
  • comments_open () – Verifică dacă sunt permise comentarii pentru postarea sau pagina curentă.
  • pings_open () – Verifică dacă pings sunt permise pentru postarea 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ă pagină, alta decât prima pagină. Postările și paginile sunt paginate când utilizați tagul rapid al paginii următoare în conținutul dvs. pentru a împărți postări mari.
  • is_trackback () – Verifică dacă se folosește un trackback.
  • is_admin () – Verifică dacă utilizatorul este conectat în zona de administrator. Nu este folosit pentru a verifica dacă un utilizator are privilegii de administrator, doar dacă este conectat în tabloul de bord WordPress.
  • is_page_template () – Verifică dacă pagina vizualizată folosește un șablon de pagină. Dacă este necesar, poate fi definit un șablon specific de pagină.
  • is_preview () – Verifică dacă o postare pe blog este vizualizată în modul draft.
  • has_excerpt () – Verifică dacă postul actual are un extras. Pot fi definite postări specifice.
  • has_nav_menu () – Verifică dacă un loc de meniu are alocat un meniu. Acest lucru este folosit de dezvoltatorii de teme pentru a arăta ceva în cazul în care utilizatorul nu a adăugat un meniu.
  • în bucla() – Verifică dacă apelantul este încă în bucla WordPress.
  • is_active_sidebar (index $) – Verifică dacă se folosește o bară laterală dată.
  • is_multisite () – Verifică dacă este acceptată mai multe site-uri.
  • is_main_site () – Verifică dacă un site web este principalul site din rețea.
  • is_super_admin () – Verifică dacă un utilizator este un super administrator în rețea.
  • is_plugin_active ($ plugin) – Verifică dacă un plugin este activat.
  • is_child_theme () – Verifică dacă se folosește o temă pentru copii.
  • current_theme_supports (caracteristică $) – Verifică dacă o temă acceptă o caracteristică specifică, cum ar fi formatele de postare sau imaginile prezentate.

De asemenea, verificați: Cum să eliminați taxonomiile implicite.

Etichetele condiționale sunt un concept important de WordPress. Datorită cât de utile sunt, există câteva teme WordPress concepute fără ele. După ce înțelegeți alte instrucțiuni, instrucțiuni elseif și operatori logici, cum ar fi AND, OR și Not; veți putea aborda orice funcție condiționată.

Sper că acest ghid te-a ajutat să înveți cum să folosești etichetele condiționale WordPress în temele tale.

Dacă ți-a plăcut acest articol, atunci alătură-te la ThemeLab Stare de nervozitate.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map