Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să personalizați afișarea arhivelor WordPress în bara laterală

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.

Cum să personalizați afișarea arhivelor WordPress în bara laterală

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)

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.

Adăugarea blocului Arhive în bara laterală

Î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.

Configurarea setărilor blocului Arhive în bara laterală

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:

Un exemplu al blocului Arhive pe partea frontală

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.

Adăugarea blocului Arhive Compacte în bara laterală

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.

Configurarea setărilor Arhive compacte în WordPress

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.

Previzualizare arhivă compactă în bara laterală

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ă.

Adăugarea blocului Arhive colapsabile î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.

Configurarea blocului Arhive pliabile î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:

Previzualizare a unei arhive care se poate restrânge

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”.

Adăugarea unui nou fragment de cod personalizat în WPCode

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”.

Adăugarea unui nou fragment de cod pentru a limita numărul de luni de arhivă cu WPCode

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”.

Alegerea Frontend Only ca locație de inserare a codului în WPCode

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”.

Adăugarea unui bloc de shortcode în WordPress

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.

Lipirea shortcode-ului pentru a limita numărul de luni de arhivă în WordPress

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:

Exemplu de limitare a secțiunii de arhive folosind un shortcode

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”.

Crearea unui nou cod personalizat pentru meniuri derulante de arhive lunare și anuale în WPCode

Î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”.

Alegerea Frontend Only ca locație de inserare a codului în WPCode

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”.

Lipirea shortcode-ului pentru meniurile derulante de arhive lunare și anuale în WordPress

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.

Exemplu de meniuri derulante pentru arhive lunare și anuale pe front-end

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.

Afișarea arhivelor lunare aranjate pe ani

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”.

Crearea unei afișări personalizate a arhivelor cu WPCode

Î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”.

Alegerea Frontend Only ca locație de inserare a codului în WPCode

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.

Adăugarea CSS pentru stilizarea afișajului personalizat al arhivelor cu WPCode

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”.

Alegerea antetului la nivel de site ca locație a codului în WPCode

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’.

Adăugarea shortcode-ului pentru arhive personalizate în bara laterală WordPress

Asta e tot!

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

Exemplu de arhive personalizate WordPress pe partea de frontend

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:

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.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

47 CommentsLeave a Reply

  1. 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

    • At the moment the code would not do that but we will look into the possibility for the future :)

      Admin

  2. Î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.

  3. 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!

  4. 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

  5. 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?

    • 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?

  6. 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.

  7. Există o modalitate ca arhiva să fie zilnică sau chiar săptămânală, în loc de doar lunară?

    • 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.

      • 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. :)

  8. 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

  9. O mică bucată de cod grozavă, căutam o modalitate de a afișa mai bine arhivele. Noroc

  10. 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!

  11. 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.

  12. 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.

  13. 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ă

  14. 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.

  15. 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().

    • 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 –

          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 –

        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

    • 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

  16. 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.

  17. @sgclark That sounds good. Will have to test out his plugin and then add it in this article :)

  18. @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)

  19. @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...

  20. 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

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.