Etichetele condiționate sunt una dintre multele structuri minunate pe care WordPress trebuie să ne ajute să le dezvoltăm mai ușor pentru WordPress. În acest articol, vom ajunge să cunoaștem câteva dintre ele și să le folosim în exemple de funcții cum ar fi eliminarea lucrurilor din paginile de eroare sau schimbarea faviconului paginilor de administrare.
Ele sunt, în esență, "da-nu întrebări": se întorc numai TRUE sau FALSE când le folosiți. Noi le folosim dacă
instrucțiuni - dacă declarația este TRUE sau FALSE, putem procesa codul nostru în funcție de Răspuns.
Puteți vedea toate etichetele condiționate din Codul WordPress.
Acum, hai să ajungem la partea distractivă! Există zece funcții excelente utilizând etichetele condiționate în acest articol.
is_front_page ()
Salutul vizitatorului de pe pagina de start ar putea fi plăcut pentru vizitator, sau puteți plasa un avertisment pentru întreținerea planificată sau puteți afișa un anunț pop-up groaznic. Indiferent de ce trebuie să faceți, iată cum faceți acest lucru:
În primul rând, trebuie să obțineți pluginul Colorbox jQuery aici. obține colorbox.min.js de la "colorbox / colorbox"și directorul colorbox.css (și "imagini") într-un"cutie de culori"în dosarul tematic.
Apoi, trebuie să creați o colorbox.load.js fișier pentru a încărca pop-ul. Plasați acest fișier în caseta "cutie de culori"și dosarul:
jQuery (document) .ready (funcția ($) var $ popup = $ ("mypopup"); $ .colorbox (href: $ popup);
După aceea, plasați codul HTML popup (cu "mypopup
"ID pentru CSS) în interiorul temei index.php fișier și ascunde în dvs. style.css fișier (cu "#mypopup display: none;
„).
() () if_front_page () // load colorbox.min.js wp_enqueue_script ('colorbox-js', get_template_directory_uri ()) / colorbox / colorbox.min.js ', array (' jquery ') ; // încărcați colorbox.load.js wp_enqueue_script ('colorbox-load-js', get_template_directory_uri ()) / colorbox / colorbox.load.js ', array (' colorbox-js ')); // încărcați colorbox.css wp_enqueue_style ('colorbox-css', get_template_directory_uri (). / colorbox / colorbox.css '); add_action ('wp_head', 'front_popup');
Inserați acest lucru în dvs. functions.php fișier și sunteți bine să mergeți!
Notă: Pentru a face popup-ul să dispară, trebuie să adăugați un link în fereastra pop-up. Acest lucru va face bine:
Închide
is_page ()
Este posibil să fie necesar să încărcați anumite fișiere JavaScript sau CSS externe pentru o anumită pagină - cum ar fi pagina "Despre" sau o pagină de descărcare pentru produsul dvs. Da, le puteți include și în conținutul dvs., dar nu este o practică bună. Iată bunele practici:
function extra_assets () if (is_page (123)) // '123' este ID-ul paginii pe care o verificam pentru wp_enqueue_script ('my-script', get_template_directory_uri tema / dosarul / script.js'); wp_enqueue_style ('stilul meu', get_template_directory_uri (). '/ some / path / in / your / theme / folder / style.css'); add_action ('wp_head', 'extra_assets');
Ca primul exemplu, adăugând acest lucru în dvs. functions.php fișierul este suficient. (Nu uitați să modificați opțiunea "123
"numărul cu codul paginii dvs.!)
in_category ()
Nu este întotdeauna necesar, dar este posibil să aveți nevoie de o secțiune "Mai multe din această categorie" pentru o categorie (dar nu și pentru celelalte). Spuneți că aveți o categorie "Știri", iar celelalte categorii nu sunt potrivite pentru secțiunea pe care o vom crea. Eticheta condiționată in_category ()
ne va ajuta cu asta:
funcția more_from_category ($ cat_ID) if (in_category ($ cat_ID) $ posturi = get_posts ('numberposts = 5 & category ='. $ cat_ID)Mai multe din această categorie
„; $ output = '
Construiți această funcție după cum doriți și adăugați-o în dvs. functions.php fişier. Apoi, du-te la single.php și plasați codul () unde doriți să apară secțiunea. Tot ce trebuie să vă gândiți este să plasați codul în interiorul buclă. Asta e tot!
is_preview ()
Aceasta nu este o necesitate (la urma urmei, noi doar învățăm exemple pentru aceste etichete condiționate), dar ar fi o idee bună să vă reamintim (sau autorilor) că pagina afișată este pagina "previzualizare". Adăugați-o în tema proprie functions.php fişier:
funcția preview_warning () if (is_preview ()) echo 'Rețineți că sunteți încă în pagina de previzualizare!„; add_action ('the_content', 'preview_warning');Desigur, acest lucru nu este suficient - trebuie să editați style.css pentru a da o formă textului de avertizare. Ceva de genul:
# preview-warning background: # 800; line-height: 50px; font-size: 30px; font-weight: bold; text-align: center; Poziția: fix; bottom: 0;Acolo te duci!
Funcția 5. Eliminarea anumitor elemente din paginile dvs. cu 404 cu
is_404 ()
Acesta este cel mai ușor vârf al tuturor. Nu cred că are nevoie chiar de o explicație - trebuie doar să înfășurați acele "anumite elemente" (lucruri pe care nu doriți să le afișați pe paginile dvs. de eroare, cum ar fi anunțurile) cu codul de mai jos și sunteți bineveniți!
dacă (! is_404 ()) // Aici apar "anumite elemente". Este atât de ușor. Serios.
Funcția 6. Nu arătați niciodată fragmente automate generate cu
has_excerpt ()
eu doar ură extrasele generate automat. Deci le-am eliminat - cu codul furnizat de Codul:
funcția full_excerpt () if (! has_excerpt ()) echo "; altceva echo get_the_excerpt ();Adăugați acest lucru în functions.php fișier și apoi tot ce trebuie să faceți este să schimbați instanțele
the_excerpt ()
cufull_excerpt ()
.
Funcția 7. Listează numai titlurile postului (în loc de postările complete) pe arhivele bazate pe date cu
is_date ()
Uneori, listarea doar a titlurilor este mai mult decât suficientă pe anumite pagini de arhivă - cum ar fi arhivele bazate pe date. De exemplu, eticheta condiționată
is_date ()
, vom scăpa de chestiile din The Loop cu excepția titlului.Acest lucru este cam complicat din moment ce archive.php fișierele sunt diferite în fiecare temă. (Și dacă există date.php fișier în tema dvs., ar trebui să o editați pe aceea.) Căutați buclă în cod și schimbați codul din interiorul Loop cu acest:
dacă (is_date ()) // Dacă tema dvs. folosește titlurile h2 pentru titlurile posturilor, utilizați h2. Dacă utilizează h1, utilizați h1. echo "'.titlul().'
„; altceva // ... // Codul original din interiorul The Loop // ...
Funcția 8. Un Favicon separat pentru panoul de administrare cu
is_admin ()
Acest sfat ar putea fi foarte util dacă vă place să lucrați cu 20 de file deschise, toate pentru blogul dvs. Trebuie doar să vă editați faviconul puțin și să îl salvați adminfav.ico - de exemplu, panoul meu admin favicon este doar roșu versiune din faviconul meu original.
Oricum, iată cum faceți acest lucru:
funcția admin_favicon () if (is_admin ()) echo '„; add_action ("admin_head", "admin_favicon");
Funcția 9. Afișați o miniatură implicită dacă postul nu are unul
has_post_thumbnail ()
Acesta este un fel de necesitate pentru o temă bună. Dacă aveți vreun rol în tema în care sunt afișate miniaturile imaginilor prezentate, vă ar trebui să inlocuieste
the_post_thumbnail ()
funcționează cu codul de mai jos:dacă (has_post_thumbnail ()) the_post_thumbnail (); altceva echo '„;În acest fel, puteți menține coerența aspectului temei dvs..
Funcția 10. Afișați un meniu special pentru membrii conectați la dvs. cu
is_user_logged_in ()
Dacă utilizați sistemul de membru în WordPress și aveți membri, poate doriți să creați un meniu special doar pentru membrii dvs. conectați. Iată cum:
funcția member_menu () if (is_user_logged_in ()) echo '„;Meniul membrilor
- Primul element din meniu
- Al doilea element de meniu
- Al treilea element din meniu
Acesta este un cod standard "titlu și listă", ar trebui să jucați cu codul pentru ao face ca bara laterală
div
s și apoi plasați codulîn tema ta sidebar.php fişier.
De asemenea, acesta este doar un exemplu, dar în mod ideal ați folosi meniurile personalizate WordPress cu
wp_nav_menu ()
aici. Un standard și unul pentru membri, puteți continua să le gestionați din tabloul de bord al administratorului WordPress. Puteți citi mai multe desprewp_nav_menu ()
funcționează aici.
Orice alte idei?
Acestea au fost cele 10 idei preferate pentru a utiliza etichete condiționate. Cum rămâne cu a ta? Dacă aveți ceva de împărțit, vă rugăm să comentați mai jos pentru a putea extinde acest post cu mai multe idei!