Fiecare piesă de conținut pe care o publicați merită o șansă de a fi descoperită, chiar și luni sau ani mai târziu. Dar dacă arhivele dvs. WordPress sunt doar o listă de bază ascunsă în bara laterală, le faceți mai greu vizitatorilor să găsească și să se bucure de postările dvs. mai vechi.
Arhivele dvs. pot fi mult mai mult decât o simplă listă cronologică.
Aceștia pot ghida cititorii către subiectele care îi interesează, pot prezenta conținutul dvs. cel mai popular și chiar pot încuraja oamenii să petreacă mai mult timp explorând site-ul dvs.
Știm acest lucru din experiență, deoarece avem o pagină dedicată de arhive la WPBeginner. Am văzut direct cum o arhivă poate face o diferență reală în descoperirea conținutului.
Gata să-ți îmbunătățești arhivele? Îți vom arăta cum să personalizezi afișajul arhivei WordPress cu tehnici simple care nu necesită abilități tehnice.

De ce să personalizați afișajul arhivelor WordPress în bara laterală?
Arhivele WordPress organizează automat postările dvs. după dată, facilitând găsirea conținutului mai vechi de către vizitatori.
Mulți proprietari de site-uri adaugă o bară laterală site-ului lor WordPress și includ un widget de arhive în această zonă pentru acces rapid la postările anterioare.
Cu toate acestea, afișajul implicit al arhivelor din bara laterală poate fi adesea prea lung și nu foarte ușor de utilizat, mai ales pentru site-urile cu conținut extins. O listă simplă de luni și ani poate deveni rapid copleșitoare și neatractivă pentru utilizatori.
Prin personalizarea arhivelor barei laterale pe site-ul dvs. WordPress, puteți preveni ca lista de arhive să devină prea lungă și intimidantă.
O secțiune de arhivă bine concepută poate, de asemenea, să îmbunătățească experiența utilizatorului, încurajând vizitatorii să exploreze mai mult conținutul dvs.
Având în vedere acest lucru, să vedem cum puteți personaliza afișarea arhivelor WordPress în bara laterală:
- Opțiunea 1: Personalizați blocul Arhive implicit (Fără plugin)
- Opțiunea 2: Creați o afișare compactă a arhivelor
- Opțiunea 3: Afișarea arhivelor într-un meniu retractabil
- Opțiunea 4: Limitați numărul de luni de arhivă afișate
- Opțiunea 5: Afișarea meniurilor derulante pentru arhive lunare și anuale
- Option 6: Display Monthly Archives Arranged by Year
Opțiunea 1: Personalizați blocul Arhive implicit (Fără plugin)
Blocul sau widgetul implicit pentru arhivele WordPress vine de fapt cu opțiuni pentru a personaliza aspectul arhivelor.
Dacă utilizați o temă clasică, puteți vedea aceste setări accesând Aspect » Widgeturi pentru a deschide editorul de widgeturi bazat pe blocuri.
Apoi, faceți clic pe butonul „+” pentru a adăuga blocul „Arhive” în bara laterală din WordPress.

În panoul de setări al blocului din dreapta, veți vedea opțiuni pentru a afișa arhivele ca un meniu dropdown, a afișa eticheta arhivei și a afișa numărul de postări publicate în fiecare perioadă.
Puteți, de asemenea, să aveți arhivele afișate pe an, lună, săptămână sau zi.

Odată ce sunteți mulțumit de modul în care arată arhivele pe blogul dvs. WordPress, puteți face clic pe „Actualizare”.
Iată cum arată arhivele implicite WordPress în bara laterală a blogului dvs. atunci când o personalizați:

Dacă utilizați o temă cu blocuri, atunci puteți folosi același bloc „Arhive” și îl puteți adăuga la șablonul care are o bară laterală în editorul complet al site-ului. Setările sunt exact aceleași.
Puteți citi ghidul nostru complet despre editarea completă a site-ului WordPress pentru mai multe informații.
Aceste setări implicite pot fi bune pentru un blog de bază. Cu toate acestea, nu sunt suficiente dacă aveți mult conținut de gestionat sau doriți mai multe opțiuni de personalizare.
Dacă sunteți în căutarea mai multor modalități de a personaliza afișajul arhivelor, atunci continuați să citiți.
Opțiunea 2: Creați o afișare compactă a arhivelor
Dacă lista dvs. de arhive a devenit prea lungă, puteți crea o arhivă compactă care afișează postările dvs. folosind mult mai puțin spațiu.
Va trebui să instalați și să activați pluginul Compact Archives. Am dezvoltat noi înșine acest plugin și a funcționat bine pentru peste 2.000 de utilizatori.
Pentru mai multe instrucțiuni de instalare, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.
Odată ce pluginul este activ, puteți adăuga arhivele compacte în bara laterală a temei dvs. folosind blocul „Arhive compacte WPBeginner”. Acest bloc este disponibil atât în editorul de widgeturi bazat pe blocuri, cât și în editorul complet al site-ului.

Puteți apoi schimba cum arată arhivele compacte.
De exemplu, ați putea alege să afișați primele inițiale ale lunii, prima literă a lunii sau numărul lunii.

Odată terminat, faceți clic pe „Actualizare” sau „Salvare”.
Pentru mai multe detalii despre plugin, accesați ghidul nostru despre cum să creezi arhive compacte în WordPress.

Opțiunea 3: Afișarea arhivelor într-un meniu retractabil
O altă modalitate de a gestiona listele lungi de arhive este de a afișa o schiță retractabilă a anilor și lunilor în care ați publicat postări pe blog.
Pentru a face acest lucru, trebuie să instalați și să activați pluginul Collapsing Archives.
Odată ce pluginul este activ, trebuie să vizitați pagina Aspect » Widgeturi și să adăugați widgetul 'Arhive pliabile' în bara laterală.

În bara laterală a setărilor blocului, puteți alege să afișați numărul de postări publicate în anul sau luna respectivă, să extindeți automat meniurile retractabile, să schimbați pictogramele meniurilor retractabile și multe altele.
Puteți afla mai multe consultând Metoda 1 din ghidul nostru despre cum să limitați numărul de luni de arhivă afișate în WordPress.

Odată ce sunteți mulțumit de modul în care sunt afișate arhivele, faceți clic pe „Actualizare” sau „Salvare”.
Iată cum arată pe site-ul nostru demo:

Opțiunea 4: Limitați numărul de luni de arhivă afișate
Poate vă place aspectul arhivelor implicite WordPress. Dar dacă aveți o mulțime de conținut, afișarea fiecărei luni sau an poate face bara laterală prea lungă. Puteți remedia acest lucru limitând numărul de luni care apar în lista arhivelor dvs.
Pentru a face acest lucru, va trebui să adăugați cod personalizat în fișierele temei WordPress.
Dacă nu ați mai făcut acest lucru înainte, acest lucru poate părea intimidant. Dar nu vă faceți griji, deoarece puteți folosi WPCode pentru a face acest lucru în siguranță.
WPCode este un plugin pentru fragmente de cod care facilitează adăugarea și gestionarea fragmentelor de cod personalizate în WordPress.
L-am testat temeinic și l-am găsit excelent pentru a rămâne organizat — poți vedea clar ce fragmente de cod ai adăugat și poți dezactiva rapid orice cod care nu funcționează, totul fără a edita fișierele temei tale.
Pentru mai multe informații despre experiența noastră, consultați recenzia noastră WPCode.
Mai întâi, să instalăm WPCode în tabloul de bord de administrare WordPress. Puteți consulta ghidul nostru pas cu pas despre cum să instalezi un plugin WordPress dacă aveți nevoie de îndrumare.
Notă: Puteți utiliza versiunea gratuită a WPCode pentru acest tutorial. Acestea fiind spuse, versiunea premium vine cu multe avantaje, cum ar fi un generator de cod AI pentru a vă ajuta să creați fragmente de cod personalizate fără cunoștințe tehnice.
Apoi, accesați Code Snippets » + Add Snippet. Selectați „Add Your Custom Code (New Snippet)” și faceți clic pe butonul „+ Add Custom Code”.

Acum, dați un nume noului dvs. fragment de cod. Poate fi ceva simplu, cum ar fi „Limitare afișare luni arhivă”.
Apoi, asigurați-vă că selectați „Fragment PHP” pentru „Tipul codului”.

Continuați și lipiți următorul fragment de cod în caseta Previzualizare cod:
// Function to get archives list with limited months
function wpb_limit_archives() {
$archive_title = '<h3>Archives</h3>';
$my_archives = $archive_title . wp_get_archives(array(
'type'=>'monthly',
'limit'=>6,
'echo'=>0
));
return $my_archives;
}
// Create a shortcode
add_shortcode('wpb_custom_archives', 'wpb_limit_archives');
// Enable shortcode execution in text widget
add_filter('widget_text', 'do_shortcode');
Partea care spune 'limit'=>6 controlează numărul de luni afișate. Puteți schimba la orice număr, dacă preferați.
Acum, derulați în jos la secțiunea Inserare și asigurați-vă că metoda de inserare este „Inserare automată”. De asemenea, selectați „Doar frontend” pentru Locație.
După ce ați făcut acest lucru, faceți clic pe comutatorul din partea de sus pentru a face codul „Activ” și apăsați butonul „Salvare fragment”.

Odată terminat, accesați editorul de widget-uri bazat pe blocuri sau editorul complet al site-ului.
Apoi, faceți clic pe butonul „+” și selectați blocul „Shortcode”.

După aceea, ar trebui să lipiți următorul shortcode în bloc:
[wpb_custom_archives]
După ce faceți clic pe butonul „Actualizare” sau „Salvare”, bara laterală va afișa doar 6 luni de arhive.

Pentru mai multe detalii, consultați Metoda 3 din ghidul nostru despre cum să limitați numărul de luni de arhivă afișate în WordPress.
Iată cum arată secțiunea noastră de arhive după înlocuirea blocului implicit Arhive cu shortcode-ul:

Opțiunea 5: Afișarea meniurilor derulante pentru arhive lunare și anuale
Uneori, vizitatorii s-ar putea să nu știe exact când a fost actualizată sau publicată o postare. Pentru a-i ajuta, puteți crea două meniuri derulante în secțiunea de arhive: unul pentru ani și unul pentru luni.
Acest element de design WordPress poate facilita utilizatorilor găsirea conținutului mai vechi fără a derula o listă lungă.
Vom folosi un fragment de cod personalizat și WPCode pentru aceasta. Ca și înainte, asigurați-vă că instalați mai întâi WPCode în administratorul WordPress.
Apoi, accesați Fragmente de cod » + Adăugați fragment de cod. Alegeți „Adăugați propriul cod personalizat (Fragment nou)” și faceți clic pe butonul „+ Adăugați cod personalizat”.
Acum, dați un nume noului dvs. fragment de cod personalizat. Poate fi ceva simplu, cum ar fi „Meniuri derulante arhivă lunară și anuală”.
De asemenea, selectați „Fragment PHP” pentru „Tipul codului”.

În caseta Previzualizare cod, inserați pur și simplu următorul fragment de cod:
function custom_archive_dropdown_shortcode() {
// Get months array
global $wpdb, $wp_locale;
$months = $wpdb->get_results(
"SELECT DISTINCT YEAR(post_date) AS year, MONTH(post_date) AS month
FROM $wpdb->posts
WHERE post_type = 'post' AND post_status = 'publish'
ORDER BY post_date DESC"
);
$output = '<h3>Archives</h3>'; // Added 'Archives' title in H3
$month_dropdown = '<select id="archive-month" name="archive-month" onchange="document.location.href=this.options[this.selectedIndex].value;">';
$month_dropdown .= '<option value="">Select Month</option>';
foreach ( $months as $month ) {
$month_name = $wp_locale->get_month($month->month);
$year_month = sprintf('%d-%02d', $month->year, $month->month);
$month_dropdown .= sprintf(
'<option value="%s">%s %d</option>',
esc_url(home_url('/' . $month->year . '/' . $month->month . '/')),
$month_name,
$month->year
);
}
$month_dropdown .= '</select>';
// Get years array
$years = $wpdb->get_results(
"SELECT DISTINCT YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_type = 'post' AND post_status = 'publish'
ORDER BY post_date DESC"
);
$year_dropdown = '<select id="archive-year" name="archive-year" onchange="document.location.href=this.options[this.selectedIndex].value;">';
$year_dropdown .= '<option value="">Select Year</option>';
foreach ( $years as $year ) {
$year_dropdown .= sprintf(
'<option value="%s">%d</option>',
esc_url(home_url('/' . $year->year . '/')),
$year->year
);
}
$year_dropdown .= '</select>';
$output .= $month_dropdown . $year_dropdown; // Append dropdowns to output
return $output; // Return the complete output
}
add_shortcode('archive_dropdown', 'custom_archive_dropdown_shortcode');
Ca și în cazul fragmentului de cod anterior, derulați în jos la secțiunea Inserare și selectați „Inserare automată” pentru Metoda de inserare. În ceea ce privește Locația, puteți alege „Doar frontend”.
Apoi, pur și simplu faceți fragmentul de cod activ și faceți clic pe „Salvează fragmentul”.

Acum, accesați editorul de widgeturi bazat pe blocuri sau editorul complet al site-ului.
După aceea, adăugați un bloc „Shortcode” în bara laterală. În acest moment, puteți merge mai departe și lipi următorul shortcode în blocul de shortcode:
[archive_dropdown]
Odată ce ați făcut acest lucru, faceți clic pe „Actualizare” sau „Salvare”.

Acum, vor exista 2 meniuri derulante care vor permite utilizatorilor să aleagă luna și anul pentru a găsi conținutul potrivit.
Ori de câte ori vor selecta o lună sau un an, utilizatorul va fi redirecționat către pagina de arhivă a perioadei alese.

Opțiunea 6: Afișarea arhivelor lunare aranjate pe ani
Odată, a trebuit să lucrăm la un design de site care necesita arhive lunare aranjate pe ani în bara laterală.
Această arhivă personalizată pe bara laterală a fost dificil de codat, deoarece acest client dorea să afișeze anul o singură dată în stânga.

Din fericire, am reușit să găsim inspirație de pe web și am creat un fragment de cod personalizat pentru aceasta. Pentru acest articol, am venit cu o versiune mult mai simplă a acelui cod pe care o puteți folosi și prin WPCode.
Mai întâi, instalați WPCode în administratorul WordPress. După aceea, accesați Snippets de cod » + Adăugați un snippet. Alegeți ‘Adăugați codul dvs. personalizat (Snippet nou)’ și faceți clic pe butonul ‘+ Adăugați cod personalizat’.
Continuați și dați un nume noului dvs. fragment de cod personalizat. Poate fi ceva simplu precum „Arhive personalizate”.
De asemenea, selectați „Fragment PHP” pentru „Tipul codului”.

În caseta Previzualizare cod, inserați pur și simplu următorul fragment de cod:
add_shortcode( 'custom_archives', 'display_custom_archives' );
function display_custom_archives() {
$archives = wp_get_archives( array(
'type' => 'monthly',
'format' => 'custom',
'before' => '',
'after' => '<hr>',
'echo' => false,
) );
// Split the archives by year
$archives_by_year = array();
foreach ( explode( '<hr>', $archives ) as $archive_item ) {
if ( empty( $archive_item ) ) {
continue;
}
// Extract year from the archive link
preg_match( '/\/(\d{4})\//', $archive_item, $matches );
$year = isset( $matches[1] ) ? $matches[1] : date( 'Y' );
// Add to the year array
$archives_by_year[ $year ][] = $archive_item;
}
// Build the output
$output = '<h2 class="archives-title">Archives</h2>';
$output .= '<hr>';
$output .= '<table>';
foreach ( $archives_by_year as $year => $archives_for_year ) {
$output .= '<tr>';
$output .= '<td class="year">' . $year . '</td>';
$output .= '<td class="months">';
$output .= implode( '', $archives_for_year );
$output .= '</td>';
$output .= '</tr>';
}
$output .= '</table>';
return $output;
}
Așa cum este prezentat în Metoda 5, puteți derula acum în jos la secțiunea Inserare și selectați „Inserare automată” pentru Metoda de inserare. Puteți alege „Doar frontend” pentru Locație.
Acum, faceți fragmentul de cod activ și faceți clic pe „Salvează fragmentul”.

Să creăm din nou un nou fragment de cod personalizat. De data aceasta, fragmentul de cod este pentru a stiliza zona widget-ului de arhive folosind CSS.
Puteți numi acest fragment de cod „CSS personalizat pentru arhive” și selectați „Fragment CSS” pentru Tipul de cod.

Acum, lipiți următorul fragment de cod în caseta Previzualizare cod:
.archives-title {
/* Style the title */
}
table {
width: 100%;
border-collapse: collapse;
}
td {
padding: 5px;
vertical-align: top;
}
.year {
font-weight: bold;
}
.months hr {
margin: 5px 0;
border: none;
border-top: 1px solid #ccc;
}
Odată terminat, derulați în jos la secțiunea Inserare și selectați ‘Inserare automată’ pentru Metoda de inserare. Apoi, alegeți ‘Antetul întregului site’ pentru Locație.
După aceea, pur și simplu activați codul și faceți clic pe „Salvează fragmentul”.

Să mergem la editorul de widget-uri sau la editorul complet al site-ului.
Aici, faceți clic pe butonul „+” și selectați blocul „Shortcode”. Acum, continuați și lipiți următorul shortcode în blocul shortcode:
[arhiva_personalizata]
Apoi, faceți clic pe ‘Actualizare’ sau ‘Salvare’.

Asta e tot!
Acesta este modul în care arată afișajul arhivelor noastre pe site-ul nostru demo:

Descoperă mai multe sfaturi și trucuri pentru blogul WordPress
Doriți să îmbunătățiți și mai mult arhivele blogului dvs. WordPress? Sau poate să vă redesenați bara laterală? Consultați aceste ghiduri conexe de mai jos:
- Cum să adăugați o bară laterală, un antet sau un subsol personalizat pentru fiecare categorie
- Cum să creați o pagină de arhivă pentru tipuri de postări personalizate în WordPress
- Ghidul începătorului pentru crearea unei pagini personalizate de arhive în WordPress
- Cum să schimbați partea barei laterale în WordPress
- Trucuri pentru bara laterală WordPress pentru a obține rezultate maxime
- Cum să adăugați o imagine în widget-ul barei laterale WordPress
Sperăm că acest tutorial v-a ajutat să învățați cum să personalizați afișarea arhivelor WordPress în bara laterală. De asemenea, ați putea dori să consultați ghidul nostru complet despre cum să editați un site WordPress și selecțiile noastre experte de cei mai buni constructori de pagini drag-and-drop pentru WordPress.
Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Serena
Salut. Mulțumesc pentru cod, funcționează! Am folosit opțiunea 5 (arhiva într-un câmp de tip dropdown). În codul meu folosesc doar anul și nu luna.
Dropdown-ul a fost plasat în șablonul paginii de arhivă pe ani, astfel încât să puteți sări de la un an la altul. Cu toate acestea, aș dori să știu cum să mă asigur că dropdown-ul are deja anul selectat. Permiteți-mi să explic. Dacă mă uit la arhiva anului 2023, dropdown-ul ar trebui să aibă deja anul 2023 selectat sau să aibă un placeholder cu anul arhivei pe care o vizualizez.
Ar fi posibil acest lucru?
Mulțumesc
Suport WPBeginner
At the moment the code would not do that but we will look into the possibility for the future
Admin
Jiří Vaněk
Îmi place foarte mult opțiunea de a afișa arhivele într-un meniu pliabil. Am site-ul meu de trei ani și acum are 1.300 de articole. Căutam o soluție care să nu ocupe jumătate din bara laterală. Cu atâtea articole, afișarea arhivelor ar fi inconfortabil de mare și neatractivă. Cu toate acestea, meniul derulant a rezolvat perfect această problemă, făcând arhivele minunat de compacte. Această funcție m-a ajutat cu adevărat, deoarece altfel, probabil nu aș fi inclus arhivele în meniu deloc.
AD
Există o modalitate, sau un widget de un fel, sub bara laterală Arhive pentru a afișa postările de blog după titlu sub luna corespunzătoare; versus doar luna singură care face clic pe o pagină nouă afișând toate postările pentru acea lună în întregime?
Îmi pare rău dacă acest lucru a fost deja răspuns în comentarii. Nu am avut ocazia să le citesc.
Vă mulțumesc pentru orice ajutor sau direcție pe care mi-o puteți oferi întrebării mele!
Suport WPBeginner
Salut,
Vă rugăm să consultați articolul nostru despre cum să limitați arhivele în WordPress.
Admin
Jaswinder
Mulțumesc mult pentru cod. Îmi salvează viața.
Carla Izumi Bamford
Mulțumesc pentru acest post, foarte util.
Margaret
Acest lucru a fost extrem de util! Mulțumesc mult. A făcut exact ceea ce aveam nevoie.
Thomas
Salut WPBEGINNER,
Sper că încă mai aruncați o privire la acest post mai vechi. În primul rând, mulțumesc mult pentru acest tutorial și cod grozav.
Am reușit să obțin
An
Ianuarie (2)
Februarie (5)
…
…
Dar nu am reușit să număr postările pe an. Cum pot face acest lucru, astfel încât intrarea anului să arate un număr pentru toate postările dintr-un an
an (28) …
Mulțumesc mult pentru ajutor!
Cu stimă,
Thomas
Erik
Thanks so much for this code!
it is helping me a lot.
Există vreo șansă să extindem acest lucru la o categorie specifică? după ID-ul categoriei?
Jason Wofford
Codul funcționează perfect, dar cum pot adăuga zile la fiecare dintre luni?
Tony Lewis
did not work for me seems to be missing some css
Xavier
Acest cod nu mai funcționează pentru nimeni altcineva?
James
Nu funcționează deloc !!!
rezultatul nu are nicio legătură cu exemplul.
Ciudat că unii tipi l-au considerat util și grozav.
Care este problema?
Eldad
Voiam doar să vă mulțumesc
Xavier Bonet
Salut! Primul lucru, primul! Cod excelent! Funcționează perfect! Mulțumesc!
Mă întrebam dacă ar exista o modalitate de a edita codul pentru a permite, să zicem, intervalului de 18 luni să se deplaseze în sus sau în jos în funcție de ceea ce se vizualizează? Așa cum este, puteți accesa doar ultimele 18 luni. Dar poate ar exista o modalitate de a face acest lucru astfel încât, atunci când se deschide, de exemplu, luna 18 din listă, iar noua pagină este deschisă, lista de arhivă generată de codul de mai sus setează luna 18 ca mijlocul unui nou array, arătând, să zicem, 9 luni înainte și 7 după (sau invers).
Poate explicația mea nu este prea clară. Mi-a venit ideea când am vizualizat acest site aici: http://marthabeck.com/. Dacă derulați în jos la meniul din partea de jos veți vedea că există mai mulți ani disponibili, dar sunt afișate doar lunile pentru anul curent. Când se deschide un nou an, lunile pentru acel an sunt apoi afișate. Desigur, acesta este probabil un alt cod în întregime, dar cel puțin funcționează ca un exemplu vizual al genului de lucru la care mă refer.
Suport WPBeginner
Încearcă să-l creezi cu etichete condiționale pe șabloanele de arhivă bazate pe dată:
Caută în codex pentru is_archive single_month_title
Admin
tobias
Nu bucla foreach(), interogarea MySQL ar trebui să aibă o limită!
Jessica
Există o modalitate ca arhiva să fie zilnică sau chiar săptămânală, în loc de doar lunară?
Personal editorial
Puteți folosi widgetul calendar în WordPress.
Admin
JP Lew
Folosesc un calendar, dar pe lângă asta am modificat codul pentru a afișa și arhive zilnice, a funcționat excelent. Iată interogarea:
$days = $wpdb->get_results(“SELECT DISTINCT DAY( post_date ) AS day , MONTH( post_date ) AS month , YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = ‘publish’ and post_date <= now( ) and post_type = 'lecture' GROUP BY day , month , year ORDER BY post_date ASC");
<a href="/year; ?>/month, 1, $day->year)) ?>/month, $day->day, $day->year)) ?>”>month, $day->day, $day->year)) . “, ” . date_i18n(“F”, mktime(0, 0, 0, $day->month, 1, $day->year)) . ” ” . date(“j”, mktime(0, 0, 0, $day->month, $day->day, $day->year)) . “, ” . $queried_year ?>post_count . “)”; ?>
//outputs: Joi, August 22, 2013 (12)
Mulțumesc pentru postare, apropo, era exact ceea ce căutam. Performanța este surprinzător de bună, de asemenea.
JP Lew
ok, your comment system stripped out all my `php` tags essentially rendering that code useless. Anyways, it’s possible and easy, you’ll figure it out.
Roelof
Salut,
Îmi place această idee. Poate fi adaptată astfel încât doar articolele dintr-o anumită categorie să fie în arhive, iar celelalte categorii să nu fie?
Roelof Wobben
Asher Charles
O mică bucată de cod grozavă, căutam o modalitate de a afișa mai bine arhivele. Noroc
Carla
Am căutat peste tot un tutorial despre cum să-mi personalizez pagina de arhive. Am reușit să fac pagina să producă o listă de titluri de postări și date de postări, ceea ce este un început excelent. Și acum trebuie să aflu cum să le grupez pe luni, astfel încât pagina să arate așa:
2013
Mai
Acesta este un titlu de postare
28 mai 2013
Și un alt post
20 mai 2013
Nu sunt prea sigur cum să fac asta. Aveți sugestii? Am observat pe forumul Wordpress și în alte părți că mulți oameni doresc ca arhivele lor să arate așa, dar ei (ca și mine) nu au primit niciun ajutor.
Mulțumesc!
Núria
Mulțumesc pentru acest fragment de cod, a fost foarte util. Vreau doar să adaug o mică modificare care va face ca ieșirea lunii să fie în limba locală.
Pe linia 16 puteți înlocui funcția date() cu funcția date_i18n()
– echo date("F", mktime(0, 0, 0, $month->month, 1, $month->year))
– echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year))
Astfel, funcția va returna pentru luna martie șirul "March" în engleză, "Marzo" în spaniolă sau "Març" în catalană, doar pentru a da câteva exemple, în funcție de limba site-ului.
Personal editorial
Vă mulțumim pentru această sugestie. Codul a fost actualizat.
Admin
Matt
Tema pe care o folosesc are un widget pentru barele laterale. Fișierul php este scris în shortcode. Cum aș converti asta într-un shortcode pentru a-l pune în fișier? Mulțumesc.
Personal editorial
Luați primul fragment și convertiți-l într-o funcție. Apoi folosiți acest articol pentru a crea un shortcode:
https://014.leahstevensyj.workers.dev/wp-tutorials/how-to-add-a-shortcode-in-wordpress/
Admin
Ryan
Salut,
Am dat peste asta, exact ce căutam. Dar are o mică problemă, am ultimele două luni de postări octombrie și noiembrie afișate în bara laterală, tocmai am adăugat una nouă în decembrie și nu afișează decembrie în lista de arhive.
Ciudat de ce nu afișează luna curentă
Personal editorial
Este într-adevăr ciudat. Avem acest lucru funcționând bine pe site-ul unui client.
Admin
thao_
Este posibil să se afișeze numărul total de postări pe an, precum și numărul de postări pentru fiecare lună? Deci, ați avea în continuare numărul de postări al fiecărei luni lângă fiecare lună, dar și totalul pentru an, lângă an. Folosind imaginea arhivei dvs. ca exemplu, ați avea 2010 (20) și apoi lunile așa cum sunt afișate în prezent.
Personal editorial
Da, puteți adăuga numărul tuturor lunilor dintr-un an și îl puteți afișa dacă doriți.
Admin
craig coffman
I think I got it sorted. I moved the “break;” up into the code before it spits out the monthly … . I figured it out after looking at Appleton’s site. His code is slightly different, as you noted. I find it interesting how people can change a single bit of code and the effect is wildly different from such a small edit. To borrow from WP, “Code is Poetry”
Am făcut o singură modificare pe care am vrut să o aduc în atenția dumneavoastră. Codul de mai sus nu părea să afișeze luna cea mai recentă. Adică, luna mea de august din acest an nu apărea (din moment ce suntem acum în august), dar iulie a apărut fără probleme. Am modificat declarația SQL și acum apare. Nu sunt sigur dacă doriți luna curentă, dar dacă aceasta este o arhivă, poate chiar și luna curentă este arhivată.
Iată modificarea mea:
post_date YEAR(CURDATE())
Se pare că extrage luna în care ne aflăm în prezent. Nu sunt un maestru SQL, așa că poate există un motiv pentru a nu face acest lucru sau chiar o metodă mai bună. Cu toate acestea, funcționează pentru mine.
Mulțumesc pentru timpul acordat acestui tutorial. M-a salvat cu siguranță de la a-mi mai lovi capul de perete încercând să manipulez wp_get_archives().
craig coffman
hmm… se pare că un cod a fost eliminat. Ar trebui să fie acolo simbolul Mai Mare Decât, între "post_date" și "YEAR(CURDATE())". Voi încerca din nou și sper să meargă.
post_date > YEAR(CURDATE())
Sorry for the additional post, but a ‘tweak’ doesn’t change anything if the proper code does not display
Ryan
Salut Craig,
Nu sunt sigur unde să pun
post_date > YEAR(CURDATE())
Mulțumesc
craig coffman
Ryan –
Ciudat. Am postat un răspuns pe site-ul Float Left, dar nu pare să fie acolo. Iată fișierul pe care îl puteți descărca, arătând unde se află codul:
http://www.octoberland.com/fileChute/displayCurrentMonth.zip
Am pus codul în fișierul index.php din șablonul meu. Este acolo pentru că clientul a dorit să fie pe fiecare pagină. Acesta preia doar lunile anului curent. Adică, dacă te-ai întoarce în 2011, lunile afișate ar fi tot 2012.
Am adăugat codul meu în linia ‘WHERE’ din MySQL, înlocuind codul pe care Andy îl avea acolo.
De asemenea, am funcția standard de arhivă WP acolo, deoarece clientul meu a dorit să afișeze și o arhivă anuală. Acest lucru nu este necesar pentru afișarea lunii curente.
Sperăm că acest lucru vă ajută.
– Craig
Ryan
Mulțumesc, Craig, se pare că a rezolvat problema.
craig coffman
Ryan –
Happy it worked for you. It took me several hours (I am not a MySQL developer) to figure that out. Now that it is helped someone else, it was worth the effort
– Craig
mary
cum să afișezi zilele?
Personal editorial
Doriți să afișați toate cele 30 de zile pentru toate lunile? Sau doriți doar să afișați zilele? S-ar putea să fie mai bine să folosiți widget-ul calendar încorporat.
Admin
Akshat Goel
Great post!! Saved my day!
zuzanka
Salut, folosesc doar widget, nu un plugin suplimentar pentru arhivă. Am limitat numărul de luni, de ex. 2, dar mă aștept să am 2 luni și apoi restul sub „…” sau „arhivă”. Nu pot găsi modalitatea de a arăta restul. Este cineva care cunoaște această problemă? Mulțumesc mult.
wpbeginner
@sgclark That sounds good. Will have to test out his plugin and then add it in this article
sgclark
@wpbeginner Lunile neutilizate sunt înfășurate în propria lor clasă CSS unică, astfel încât puteți folosi pur și simplu „display:none” CSS pentru lunile neutilizate. Apoi, când un post apare în lună, acesta comută la o clasă diferită (prin PHP)
wpbeginner
@sgclark Acest plugin sună bine… Mă întreb cum ar funcționa dacă nu vrem să afișăm deloc lunile neutilizate. Dar cu toate acestea, nu l-am încercat încă, deoarece nu este găzduit în depozit...
sgclark
Justin Blanton a creat un plugin WordPress ingenios numit SmartArchives. Sunt sigur că ați putea să vă uitați și în fișierul său CSS pentru a vă juca cu afișajul și nu trebuie să vă faceți griji cu privire la tot codul suplimentar din pagina Sidebar PHP. – http://hypertext.net/projects/smartarchives