URL-ul implicit de arhivă în WordPress
În WordPress există câteva URL-uri 'implicite' de arhivă. De exemplu: http://www.mydomain.com/2011/ generează o listă cu postările doar din acel an.
Dacă ai o categorie numită bloguri, URL-ul http://www.mydomain.com/blogs/ generează o listă cu toate postările din acea categorie. (Distribuite pe mai multe pagini)
Întrebarea mea este: există vreun link care generează o listă cu toate postările (distribuite pe mai multe pagini), începând cu cele mai noi și mergând înapoi în timp?
Nu ca URL-ul pentru 2011, care afișează doar postările din acel an, ci care merge mai departe în timp când este cazul.
Structura mea curentă de permalink este:
/%category%/%postname%/
Mulțumesc.

Aceasta poate fi o întrebare veche, dar toate răspunsurile de aici sunt incorecte.
Dacă pagina principală este setată ca o pagină statică, iar o altă pagină este setată ca pagină de blog, acest cod va prelua și afișa dinamic URL-ul pentru arhiva de blog (adică pagina de index a blogului)...
<?php echo get_permalink( get_option( 'page_for_posts' ) ) ?>
Acest cod preia mai întâi ID-ul paginii de blog (din opțiunile site-ului), apoi preia link-ul permanent pentru acel ID de pagină.
Din punct de vedere al codării, WordPress presupune că pagina principală și pagina de blog sunt una și aceeași. Aceasta este o funcționalitate rămasă din vremea când WordPress era literalmente doar un sistem de blog, și nu CMS-ul cu funcționalități complete care a devenit. Prin urmare, nu poți avea încredere în general în convențiile de denumire ale funcțiilor de bază ale WordPress.
DE EXEMPLU: home_url()
va returna în general pagina principală, oricare ar fi ea... care poate să nu fie neapărat arhiva/indexul principal al blogului. Cu toate acestea, funcția condițională is_home()
returnează adevărat doar pentru arhiva principală a blogului, nu pentru pagina principală reală (care este testată folosind is_front_page()
).

Practic, ceea ce cauți este Indexul Articolelor de Blog, care afișează toate articolele de blog, de la început.
Dacă site-ul tău este configurat să afișeze Indexul Articolelor de Blog pe pagina principală, atunci URL-ul pe care îl cauți este pur și simplu home_url()
.
Dacă site-ul tău este configurat să afișeze o Pagină statică pe prima pagină și articolele de Blog pe o Pagină statică numită "Foobar", atunci URL-ul pe care îl cauți este home_url( '/foobar' )
(sau, mai generic: home_url( '/' . get_option( 'page_for_posts' ) )
).
Indexul Articolelor de Blog este un index de arhivă paginat, așadar pentru a ajunge la paginile cu articole mai vechi, pur și simplu adaugă /page/#/
, de exemplu example.com/page/2/
sau example.com/blog/page/2/
.

http://myblog.com/?post_type=post
pentru o listă a tuturor articolelor, probabil sortate în ordine descrescătoare după dată.
Specificarea post_type
în variabilele de interogare semnalează WP_Query că căutați o pagină de arhivă, așa că va parcurge ierarhia de șabloane căutând mai întâi archive-{post_type}.php
și dacă acesta nu există, archive.php
pentru a afișa articolele.
Rețineți că numărul de articole afișate va fi în continuare ghidat de posts_per_page
, care dacă nu este setat explicit, va folosi setarea din panoul de control Admin sub Setări > Citire > 'Pagini de blog afișează cel mult' # articole

Dacă dorești să ai o pagină de arhivă pentru un tip personalizat de postare pe care l-ai creat folosind pluginul Custom Post Type UI (CPT UI), trebuie mai întâi să activezi arhiva pentru acel tip de postare în setările CPT UI atunci când adaugi/editezi acel tip de postare, setând opțiunea la True
.
Opțiunile CPT UI se găsesc la:
example.com/wp-admin/admin.php?page=cptui_manage_post_types&action=edit
În mod implicit, URL-ul arhivei pentru tipul personalizat de postare va fi slug-ul pe care l-ai ales pentru acel tip de postare. De asemenea, poți introduce un slug personalizat pentru arhivă.
