În acest tutorial, voi prezenta Bucla și cum o folosește WordPress pentru a afișa postările și paginile dvs. Rețineți că acest lucru este puțin mai avansat decât tutorialele noastre anterioare. Sperăm că veți găsi acest ghid suprem mai ușor de înțeles decât ceea ce este disponibil în documentația WordPress. Iată ce vom aborda:
- O definiție a Buclei.
- Fluxul de bază al Buclei.
- Etichete de șablon utilizate în Buclă
- Ce să faci după Buclă
- Ierarhia fișierelor șablon
Dacă doriți să înțelegeți mai bine cum funcționează un șablon WordPress în culise, citiți mai departe.
Notă: Acest tutorial presupune că utilizați un șablon WordPress standard, cum ar fi șablonul implicit Kubrick. Niciun fel de chestii avansate cu bucle multiple... încă.
Ce este Bucla?
Probabil încă vă întrebați ce este Bucla. Practic, este ceea ce afișează conținutul pe care îl vedeți pe pagina principală, articolele individuale, paginile, arhivele, rezultatele căutării și multe altele.
Dacă un utilizator accesează pagina dvs. de pornire, arhivele sau rezultatele căutării – în mod implicit, Bucla va afișa un anumit număr de postări, așa cum este definit în Opțiunile de citire.
În acest moment, pagina mea de pornire afișează 10 postări pe pagină, ceea ce am definit la Afișați cel mult * postări. Pe postări și pagini individuale – același cod de bază al Buclii va afișa doar acea pagină specifică.
Fluxul de bază al buclei
Să împărțim Bucla în 3 părți.
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
1. Ce doriți să fie afișat în Buclă
<?php endwhile;?>
2. Ce este afișat când Bucla s-a terminat
<?php else : ?>
3. Dacă nu este nimic de afișat
<?php endif; ?>
Dacă există articole disponibile în interogare, va începe să le afișeze într-o buclă while, ceea ce este definit în partea 1. Când bucla while s-a terminat, va afișa ceea ce este în partea 2. Dacă nu au fost găsite articole sau există o altă eroare 404, se afișează partea 3.
Etichete de șablon utilizate în interiorul Buclei
Decât dacă doriți ca 1. Ce doriți să fie afișat în buclă să se repete de 10 ori pe pagina principală a blogului dvs. WordPress, probabil ar trebui să învățați câteva dintre etichetele de șablon de bază. Să aruncăm o privire la codul fișierului index.php din șablonul implicit WordPress.
După cum puteți vedea, există destul de multe etichete de șablon în Buclă care vor genera lucruri precum titlul postării, permalink-ul, conținutul etc. Voi detalia fiecare dintre etichetele de șablon din tema implicită WordPress.
- <?php the_permalink() ?> – Aceasta va afișa permalink-ul postării, adică http://www.themelab.com/?p=1
- <?php the_title(); ?> – Aceasta afișează titlul postării, adică. Salut Lume!
- <?php the_time(‘F jS, Y’) ?> – Aceasta va afișa data, adică 4 aprilie 2008. O listă completă a modurilor de formatare a datei poate fi găsită pe php.net
- <?php the_author() ?> – Aceasta va afișa numele autorului, adică. Leland. Aceasta este comentată în șablonul implicit.
- <?php the_tags(‘Tags: ‘, ‘, ‘, ‘<br />’); ?> – Aceasta va afișa etichetele atribuite postării, separate prin virgule și urmate de o linie nouă
- <?php the_category(‘, ‘) ?> – Aceasta va afișa categoriile într-un mod similar cu etichetele de mai sus.
- <?php edit_post_link(‘Edit’, ”, ‘ | ‘); ?> – Link-ul de editare a postării va fi vizibil doar celor cu permisiuni.
- <?php comments_popup_link(‘No Comments »’, ‘1 Comment »’, ‘% Comments »’); ?> – Va afișa link-ul către comentarii. Acesta nu va fi afișat pe postări sau pagini individuale.
Există multe altele listate pe pagina Etichete de șablon de pe WordPress.org. Unele dintre acestea pot funcționa în Buclă, în timp ce altele s-ar putea să nu funcționeze.
După buclă
Să aruncăm o privire asupra codului după ce bucla se termină în șablonul implicit.
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Intrări mai vechi') ?></div>
<div class="alignright"><?php previous_posts_link('Intrări mai noi »') ?></div>
</div>
După cum probabil ați ghicit, aceasta va afișa paginarea pe care o vedeți pe pagina de pornire, arhive și rezultatele căutării. Acestea nu vor fi afișate pe postări și pagini individuale. Desigur, ați putea înlocui acest lucru cu ceva de genul PageNavi, dar asta depinde de dvs.
Dacă nu există postări de afișat (posibil din cauza unei erori 404), următoarele vor fi afișate după *else*
<h2 class="center">Nu s-a găsit</h2>
<p class="center">Ne pare rău, dar căutați ceva ce nu există aici.</p>
<?php include (TEMPLATEPATH . "/searchform.php"); ?>
Aceasta va afișa mesajul *Nu s-a găsit* împreună cu formularul de căutare. În acest caz, ar trebui să existe un cod pentru formularul de căutare într-un fișier numit *searchform.php* în directorul șablonului, ceea ce există în șablonul implicit.
Ierarhia șabloanelor
Unele fișiere șablon vor avea prioritate față de index.php pentru anumite tipuri de pagini, dacă acestea sunt prezente în directorul șablonului. Mai jos sunt câteva exemple de ierarhie a șabloanelor, listate în ordinea priorității.
Pagina principală
- home.php
- index.php
Postare individuală
- single.php
- index.php
Rezultate căutare
- search.php
- index.php
Pagina 404
- 404.php
- index.php
Există câteva tehnici mai avansate listate pe pagina Ierarhia șabloanelor de pe WordPress.org.
Deci, care este scopul ierarhiei șabloanelor? Practic, o puteți folosi pentru a crea noi aspecte pentru diferite tipuri de pagini WordPress fără a modifica prea mult fișierul dvs. index.php.
Concluzie
Deci, acum aveți (sperăm) o mai bună înțelegere a ceea ce înseamnă Bucla WordPress. Nu ezitați să lăsați un comentariu dacă v-a plăcut, dacă v-a displăcut, dacă nu ați înțeles, orice – primesc toate feedback-urile. Abonați-vă la flux pentru toate cele mai recente actualizări despre lansările de teme Theme Lab și noile tutoriale. Mulțumim pentru lectură.
Vreau să afișez linkul către postarea următoare și anterioară pe pagina postării individuale. De asemenea, textul ancora pentru link ar trebui să fie numele postării respective.
Vă rog să-mi spuneți cum pot face asta?
Am încercat să încorporez în single.php, dar nu afișează numele postării.
Grozav, învăț să modific bucla, chiar și la nivel RSS-Atom, iar aceste noțiuni de bază îmi sunt utile. Continuați așa, băieți.
Mulțumesc, mulțumesc, mulțumesc.
Nu pot să vă mulțumesc suficient. Toată lumea, inclusiv wordpress.org, spune „pune acel cod în Buclă”, dar NIMENI nu spunea ce naiba este Bucla! Cu excepția TA. Ajutor grozav.
[…] Link către tutorial […]
Sunt un manager de proiect IT care, la un moment dat în viața sa, a fost un „tehnician” practic. Cred că asta mă plasează undeva la mijlocul spectrului, între cel care înțelege computerele, dar nu știe programare, și geniul total care gândește și vorbește în Cplusplus.
Lucrul grozav la WordPress este că este suficient de simplu de utilizat încât chiar și cel mai neștiutor, neștiutor de computere, poate obține funcționalități sofisticate cu ușurință, în timp ce cineva cu chiar și un pic de abilități tehnice poate face multe ajustări.
Deși nu sunt programator PHP sau Java, am pregătire în limbajul C#/VB.NET și înțeleg buclele și structurile de programare. Această mică parte de cunoștințe, împreună cu tutoriale, cum ar fi al dumneavoastră, îmi oferă posibilitatea de a interacționa cu cei mai buni „tocilari” de calculatoare. Tutorialul dumneavoastră a fost foarte ușor de înțeles (probabil pentru că am un background IT). Cred că chiar dacă nu aș fi avut un background IT, explicația dumneavoastră a făcut posibil (cu puțin efort) să înțeleg cum să folosesc „bucla” și puțin mai mult despre funcționarea internă a aplicației WordPress.
Mulțumesc!!
Jerry Bucknoff, PMP
Blogul meu WordPress este blogs.pmbestpractices.com, un alt site alimentat cu mândrie de WordPress.
[…] Ghidul suprem pentru bucla WordPress […]
[…] Ghidul suprem pentru bucla wordpress […]
[…] Ghidul suprem pentru bucla WordPress […]
[…] Ghidul suprem pentru bucla WordPress […]
Foarte util. Mulțumesc!
[…] Citește mai mult… […]
Mulțumesc pentru postare, a ajutat foarte mult. Singura mea sugestie ar fi să editați etichetele șablonului, astfel încât toate să aibă punctul și virgula de închidere.
Încercam să fac astfel încât să afișez o singură categorie pe pagina principală și am reușit după ce am citit această postare cu sintaxa exactă de care am nevoie pentru a modifica bucla.
http://www.nietoperzka.com/wptraining/custom-order-of-posts-on-main-page/
Dar apoi am avut erori cu celelalte categorii și zone ale site-ului, dar odată ce am citit postarea ta și a explicat mai mult ierarhia paginilor, am creat un fișier home.php separat pentru bucla mea de pagină de destinație și am lăsat totul altfel ca original.
mulțumesc pentru această postare.
[…] ai probleme în a înțelege ceva din ce am făcut, recomand să vizitezi acest tutorial pentru o mai bună înțelegere a […]
Pot modifica bucla wordpress folosind o funcție de plugin?
știi ce, ești pur și simplu grozav, mă întreb de ce nu am găsit site-ul tău mai devreme și de ce nu am trecut la wordpress mai devreme.
Am început, de asemenea, să-ți promovez site-ul prin recomandări pozitive aici, în India.
Recent, am mers la o întâlnire a clubului Toastmasters și am povestit oamenilor cât de minunat este site-ul tău.
Mulțumesc pentru sfaturile tale minunate.
[…] Ghidul Suprem al Buclei WordPress | Theme Lab pentru că, după tot acest timp, ÎNCĂ sunt confuz […]
Un lucru pe care l-am găsit deosebit de util este ierarhia categoriilor:
1. category-6.php
2. category.php
3. archive.php
4. index.php
Prima pagină îți permite să ai o pagină pentru fiecare categorie. WordPress va folosi 'category-6.php' ca pagină implicită pentru categoria 6. Poți afla numărul categoriei în backend mergând la Gestionare > Categorii și apoi dând clic pe o categorie. După ce dai clic pe categorie, uită-te în bara de adrese și spre sfârșit vei vedea: &cat_ID=6. Acel 6 este numărul categoriei. 'category.php' va fi șablonul implicit pentru toate categoriile dacă nu sunt găsite șabloane individuale de categorii (cum ar fi category-6.php). Doar plasează aceste fișiere PHP în directorul rădăcină al temei tale.
Ghid foarte util, mulțumesc pentru distribuire!
Mulțumesc! În sfârșit explicația Buclei pe care am căutat-o peste tot pe web! Acum înțeleg. Mulțumesc, din nou 😀
[…] Ghidul suprem pentru bucla WordPress […]
[…] s-ar putea să nu dorești ca rezultatele căutării tale să fie limitate de granițele Buclei WordPress standard. Aceasta este o mică modificare de cod pentru a permite unei căutări să returneze rezultate nelimitate, modificând standardul […]
[…] Un domeniu excelent pentru a începe este să înveți cum funcționează bucla WordPress. Aceasta este o funcție de bază a blogging-ului folosită pentru a afișa cele mai recente X numere de postări pe pagina principală a blogului tău (pentru blogurile tradiționale). În loc să intru în prea multe detalii aici, aș dori să te îndrept către o nouă postare de pe Themelab, care este concepută pentru a fi Ghidul Suprem al buclei WordPress. […]
[…] Ghidul Suprem al Buclei WordPress | Theme Lab […]
[…] Ghidul Suprem al Buclei WordPress | Theme Lab […]