Każdy opublikowany przez Ciebie materiał zasługuje na szansę odkrycia, nawet miesiące lub lata później. Ale jeśli Twoje archiwa WordPress to tylko podstawowa lista ukryta w pasku bocznym, utrudniasz odwiedzającym znalezienie i cieszenie się starszymi postami.
Twoje archiwa mogą być czymś więcej niż tylko prostą listą chronologiczną.
Mogą one kierować czytelników do interesujących ich tematów, prezentować Twoje najpopularniejsze treści, a nawet zachęcać ludzi do spędzania więcej czasu na przeglądaniu Twojej witryny.
Wiemy to z doświadczenia, ponieważ mamy dedykowaną stronę archiwum na WPBeginner. Widzieliśmy na własne oczy, jak archiwum może realnie wpłynąć na odkrywanie treści.
Gotowy na ulepszenie swoich archiwów? Pokażemy Ci, jak dostosować wyświetlanie archiwów WordPress za pomocą prostych technik, które nie wymagają żadnych umiejętności technicznych.

Dlaczego warto dostosować wyświetlanie archiwów WordPress w pasku bocznym?
Archiwa WordPress automatycznie organizują Twoje posty według daty, ułatwiając odwiedzającym znajdowanie starszych treści.
Wielu właścicieli witryn dodaje pasek boczny do swojej witryny WordPress i umieszcza w tym obszarze widżet archiwum, aby zapewnić szybki dostęp do przeszłych postów.
Jednak domyślne wyświetlanie archiwów w pasku bocznym może być często zbyt długie i mało przyjazne dla użytkownika, zwłaszcza w przypadku witryn z obszerną zawartością. Podstawowa lista miesięcy i lat może szybko stać się przytłaczająca i nieatrakcyjna dla użytkowników.
Dostosowując archiwa w pasku bocznym na swojej witrynie WordPress, możesz zapobiec zbyt długiemu i zniechęcającemu wyświetlaniu listy archiwum.
Dobrze zaprojektowana sekcja archiwum może również poprawić doświadczenie użytkownika, zachęcając odwiedzających do przeglądania większej ilości Twoich treści.
Mając to na uwadze, zobaczmy, jak możesz dostosować wyświetlanie archiwów WordPress w swoim pasku bocznym:
- Opcja 1: Dostosuj domyślny blok archiwów (bez wtyczki)
- Opcja 2: Utwórz skondensowane wyświetlanie archiwów
- Opcja 3: Wyświetl archiwum w rozwijanym menu
- Opcja 4: Ogranicz liczbę wyświetlanych miesięcy archiwum
- Opcja 5: Wyświetl menu rozwijane archiwum miesięcznego i rocznego
- Option 6: Display Monthly Archives Arranged by Year
Opcja 1: Dostosuj domyślny blok archiwów (bez wtyczki)
Domyślny blok lub widżet archiwów WordPress faktycznie zawiera opcje dostosowania wyglądu archiwów.
Jeśli używasz klasycznego motywu, możesz zobaczyć te ustawienia, przechodząc do Wygląd » Widżety, aby otworzyć edytor widżetów oparty na blokach.
Następnie kliknij przycisk „+”, aby dodać blok „Archiwa” w pasku bocznym w WordPress.

W prawym panelu ustawień bloku zobaczysz opcje wyświetlania archiwów jako menu rozwijanego, pokazywania etykiety archiwów i pokazywania liczby postów opublikowanych w każdym okresie.
Możesz również wyświetlać archiwum według roku, miesiąca, tygodnia lub dnia.

Gdy będziesz zadowolony z wyglądu archiwów na swoim blogu WordPress, możesz kliknąć „Aktualizuj”.
Oto jak wyglądają domyślne archiwa WordPress na pasku bocznym Twojego bloga po ich dostosowaniu:

Jeśli używasz motywu blokowego, możesz po prostu użyć tego samego bloku „Archiwa” i dodać go do szablonu z paskiem bocznym w edytorze pełnej witryny. Ustawienia są dokładnie takie same.
Możesz przeczytać nasz kompletny przewodnik po edycji pełnej witryny WordPress, aby uzyskać więcej informacji.
Te domyślne ustawienia mogą być dobre dla podstawowego bloga. Jednak nie wystarczą, jeśli masz dużo treści do zarządzania lub chcesz więcej opcji dostosowywania.
Jeśli szukasz więcej sposobów na dostosowanie wyświetlania archiwów, czytaj dalej.
Opcja 2: Utwórz skondensowane wyświetlanie archiwów
Jeśli Twoja lista archiwów stała się zbyt długa, możesz utworzyć kompaktowy archiwum, które wyświetla Twoje posty, zajmując znacznie mniej miejsca.
Będziesz musiał zainstalować i aktywować wtyczkę Compact Archives. Opracowaliśmy tę wtyczkę samodzielnie i działała dobrze dla ponad 2000 użytkowników.
Więcej instrukcji instalacji znajdziesz w naszym przewodniku krok po kroku na temat jak zainstalować wtyczkę WordPress.
Po aktywacji wtyczki możesz dodać kompaktowe archiwa do paska bocznego swojego motywu, korzystając z bloku „Kompaktowe archiwa WPBeginner”. Ten blok jest dostępny zarówno w edytorze widżetów opartym na blokach, jak i w edytorze pełnej witryny.

Następnie możesz zmienić wygląd kompaktowych archiwów.
Na przykład, możesz wybrać wyświetlanie pierwszych inicjałów miesiąca, pierwszej litery miesiąca lub numeru miesiąca.

Po zakończeniu kliknij „Aktualizuj” lub „Zapisz”.
Więcej szczegółów na temat wtyczki znajdziesz w naszym przewodniku jak tworzyć kompaktowe archiwa w WordPress.

Opcja 3: Wyświetl archiwum w rozwijanym menu
Innym sposobem na radzenie sobie z długimi listami archiwów jest wyświetlanie zwijanego konspektu lat i miesięcy, w których publikowałeś posty na blogu.
Aby to zrobić, musisz zainstalować i aktywować wtyczkę Collapsing Archives.
Po aktywacji wtyczki musisz przejść na stronę Wygląd » Widżety i dodać widżet „Zwijane archiwa” do swojego paska bocznego.

W bocznym panelu ustawień bloku możesz wybrać, czy chcesz wyświetlać liczbę opublikowanych postów w roku lub miesiącu, automatycznie rozwijać rozwijane menu, zmieniać ikony rozwijanych menu i nie tylko.
Więcej informacji znajdziesz w Metodzie 1 w naszym przewodniku na temat ograniczania liczby miesięcy archiwum wyświetlanych w WordPress.

Gdy będziesz zadowolony z wyglądu archiwów, kliknij „Aktualizuj” lub „Zapisz”.
Oto jak to wygląda na naszej stronie demonstracyjnej:

Opcja 4: Ogranicz liczbę wyświetlanych miesięcy archiwum
Być może podoba Ci się wygląd domyślnych archiwów WordPress. Ale jeśli masz mnóstwo treści, wyświetlanie każdego miesiąca lub roku może sprawić, że Twój pasek boczny będzie zbyt długi. Możesz to naprawić, ograniczając liczbę miesięcy pojawiających się na liście archiwów.
Aby to zrobić, będziesz musiał dodać niestandardowy kod do plików motywu WordPress.
Jeśli nigdy tego wcześniej nie robiłeś, może to wydawać się onieśmielające. Ale nie martw się, ponieważ możesz użyć WPCode, aby zrobić to bezpiecznie.
WPCode to wtyczka fragmentów kodu, która ułatwia dodawanie i zarządzanie niestandardowymi fragmentami kodu w WordPress.
Przetestowaliśmy ją dokładnie i uznaliśmy, że świetnie nadaje się do utrzymania porządku — możesz wyraźnie widzieć, które fragmenty dodałeś i szybko dezaktywować wszelkie działające nieprawidłowo kody, a wszystko to bez edycji plików motywu.
Więcej informacji o naszych doświadczeniach znajdziesz w naszej recenzji WPCode.
Najpierw zainstalujmy WPCode w panelu administracyjnym WordPress. Możesz zapoznać się z naszym przewodnikiem krok po kroku na temat jak zainstalować wtyczkę WordPress, jeśli potrzebujesz wskazówek.
Uwaga: Do tego tutorialu możesz użyć darmowej wersji WPCode. Niemniej jednak, wersja premium oferuje wiele korzyści, takich jak generator kodu AI, który pomoże Ci tworzyć niestandardowe fragmenty kodu bez wiedzy technicznej.
Następnie przejdź do Fragmenty kodu » + Dodaj fragment. Wybierz opcję „Dodaj własny kod (nowy fragment)” i kliknij przycisk „+ Dodaj własny kod”.

Teraz nadaj swojemu nowemu fragmentowi kodu nazwę. Może to być coś prostego, jak „Ogranicz wyświetlanie miesięcy archiwum”.
Następnie upewnij się, że dla opcji „Typ kodu” wybrano „Fragment PHP”.

Wklej poniższy fragment kodu w polu Podgląd kodu:
// 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');
Część, która mówi 'limit'=>6, kontroluje liczbę wyświetlanych miesięcy. Możesz ją zmienić na dowolną liczbę, jeśli wolisz.
Teraz przewiń w dół do sekcji Wstawianie i upewnij się, że Metoda wstawiania to „Automatyczne wstawianie”. Wybierz również „Tylko frontend” dla Lokalizacji.
Po wykonaniu tej czynności kliknij przełącznik u góry, aby kod był „Aktywny” i kliknij przycisk „Zapisz fragment”.

Po zakończeniu przejdź do swojego edytora widżetów opartych na blokach lub edytora pełnej witryny.
Następnie kliknij przycisk „+” i wybierz blok „Krótki kod”.

Następnie wklej następujący krótki kod do bloku:
[wpb_custom_archives]
Po kliknięciu przycisku „Aktualizuj” lub „Zapisz” w Twoim pasku bocznym wyświetlonych zostanie tylko 6 miesięcy archiwów.

Więcej informacji można znaleźć w Metodzie 3 w naszym przewodniku jak ograniczyć liczbę miesięcy archiwów wyświetlanych w WordPress.
Oto jak wygląda nasza sekcja archiwów po zastąpieniu domyślnego bloku Archiwa krótkim kodem:

Opcja 5: Wyświetl menu rozwijane archiwum miesięcznego i rocznego
Czasami odwiedzający mogą nie wiedzieć dokładnie, kiedy post został zaktualizowany lub opublikowany. Aby im pomóc, możesz utworzyć dwa menu rozwijane w sekcji archiwów: jedno dla lat i jedno dla miesięcy.
Ten element projektowania WordPress może ułatwić użytkownikom znajdowanie starszych treści bez przewijania długiej listy.
Użyjemy niestandardowego fragmentu kodu i WPCode do tego celu. Jak poprzednio, upewnij się, że najpierw zainstalowałeś WPCode w swoim panelu administracyjnym WordPress.
Następnie przejdź do Fragmenty kodu » + Dodaj fragment. Wybierz opcję „Dodaj własny fragment kodu (nowy fragment)” i kliknij przycisk „+ Dodaj własny kod”.
Teraz nadaj swojej nowej niestandardowej nazwie fragmentu kodu. Może to być coś prostego, jak „Menu rozwijane miesięcznych i rocznych archiwów”.
Wybierz również „Fragment PHP” dla „Typu kodu”.

W polu Podgląd kodu po prostu wstaw następujący fragment kodu:
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');
Podobnie jak w przypadku poprzedniego fragmentu kodu, przewiń w dół do sekcji Wstawianie i wybierz „Automatyczne wstawianie” dla Metody wstawiania. Jeśli chodzi o Lokalizację, możesz wybrać „Tylko frontend”.
Następnie po prostu aktywuj fragment kodu i kliknij „Zapisz fragment”.

Teraz przejdź do edytora widżetów opartych na blokach lub edytora pełnej witryny.
Następnie dodaj blok „Krótki kod” do swojego paska bocznego. Na tym etapie możesz przejść dalej i wkleić następujący krótki kod do bloku krótkiego kodu:
[archive_dropdown]
Gdy to zrobisz, po prostu kliknij „Aktualizuj” lub „Zapisz”.

Teraz pojawią się 2 menu rozwijane, które pozwolą użytkownikom wybrać miesiąc i rok, aby znaleźć odpowiednie treści.
Kiedy wybiorą miesiąc lub rok, użytkownik zostanie przekierowany na stronę archiwum wybranego okresu.

Opcja 6: Wyświetlanie miesięcznych archiwów uporządkowanych według roku
Kiedyś musieliśmy pracować nad projektem strony, który wymagał miesięcznych archiwów uporządkowanych według roku na pasku bocznym.
Ten niestandardowy archiwum na pasku bocznym był trudny do zakodowania, ponieważ ten klient chciał pokazywać rok tylko raz po lewej stronie.

Na szczęście udało nam się znaleźć inspirację w sieci i stworzyliśmy do tego niestandardowy fragment kodu. W tym artykule przygotowaliśmy znacznie prostszą wersję tego kodu, którą możesz również wykorzystać za pomocą WPCode.
Najpierw zainstaluj WPCode w swoim panelu administracyjnym WordPress. Następnie przejdź do Fragmenty kodu » + Dodaj fragment. Wybierz opcję „Dodaj własny kod (nowy fragment)” i kliknij przycisk „+ Dodaj własny kod”.
Nadaj swojemu nowemu fragmentowi niestandardowego kodu nazwę. Może to być coś prostego, jak „Niestandardowe archiwa”.
Wybierz również „Fragment PHP” dla „Typu kodu”.

W polu Podgląd kodu po prostu wstaw następujący fragment kodu:
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;
}
Jak pokazano w Metodzie 5, możesz teraz przewinąć w dół do sekcji Wstawianie i wybrać „Automatyczne wstawianie” dla Metody wstawiania. Możesz wybrać „Tylko Frontend” dla Lokalizacji.
Teraz aktywuj fragment kodu i kliknij „Zapisz fragment kodu”.

Utwórzmy ponownie nowy niestandardowy fragment kodu. Tym razem fragment kodu ma na celu stylizację obszaru widżetu archiwów za pomocą CSS.
Możesz nazwać ten fragment kodu „Niestandardowy CSS dla archiwów” i wybrać „Fragment kodu CSS” dla Typu kodu.

Teraz wklej następujący fragment kodu do pola Podgląd kodu:
.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;
}
Po zakończeniu po prostu przewiń w dół do sekcji Wstawianie i wybierz „Automatyczne wstawianie” dla Metody wstawiania. Następnie wybierz „Nagłówek całej witryny” dla Lokalizacji.
Następnie po prostu aktywuj kod i kliknij „Zapisz fragment”.

Przejdźmy do edytora widżetów lub edytora pełnej witryny.
Tutaj kliknij przycisk „+” i wybierz blok „Krótki kod”. Teraz przejdź dalej i wklej następujący krótki kod do bloku krótkiego kodu:
[custom_archives]
Następnie kliknij „Aktualizuj” lub „Zapisz”.

To wszystko!
Tak wygląda nasz wyświetlacz archiwów na naszej stronie demonstracyjnej:

Odkryj więcej wskazówek i sztuczek dotyczących blogów WordPress
Chcesz dalej ulepszać archiwa swojego bloga WordPress? A może przeprojektować swój pasek boczny? Sprawdź poniższe powiązane przewodniki:
- Jak dodać niestandardowy pasek boczny, nagłówek lub stopkę dla każdej kategorii
- Jak utworzyć niestandardową stronę archiwum typów postów w WordPress
- Przewodnik dla początkujących po tworzeniu niestandardowej strony archiwów w WordPress
- Jak zmienić stronę paska bocznego w WordPress
- Sztuczki z paskiem bocznym WordPressa, aby uzyskać maksymalne rezultaty
- Jak dodać obrazek do widżetu paska bocznego WordPress
Mamy nadzieję, że ten samouczek pomógł Ci dowiedzieć się, jak dostosować wyświetlanie archiwów WordPress w pasku bocznym. Możesz również zapoznać się z naszym obszernym przewodnikiem na temat jak edytować stronę WordPress oraz naszymi ekskluzywnymi wyborami najlepszych kreatorów stron WordPress metodą przeciągnij i upuść.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.


Serena
Cześć. Dzięki za kod, działa! Użyłem opcji 5 (archiwum w polu rozwijanym). W moim kodzie używam tylko roku, a nie miesiąca.
Rozwijana lista została umieszczona w szablonie strony archiwum według roku, aby można było przeskakiwać z roku na rok. Chciałbym jednak wiedzieć, jak upewnić się, że na liście rozwijanej rok jest już wybrany. Pozwól, że wyjaśnię. Jeśli przeglądam archiwum z 2023 roku, na liście rozwijanej powinien być już wybrany rok 2023 lub powinien być tam placeholder z rokiem archiwum, które przeglądam.
Czy byłoby to możliwe?
Dziękuję
Wsparcie WPBeginner
At the moment the code would not do that but we will look into the possibility for the future
Admin
Jiří Vaněk
Bardzo podoba mi się opcja wyświetlania archiwów w zwijanym menu. Prowadzę swoją stronę od trzech lat i mam już 1300 artykułów. Szukałem rozwiązania, które nie zajmie połowy paska bocznego. Przy tak dużej liczbie artykułów wyświetlanie archiwów byłoby niekomfortowo duże i nieatrakcyjne. Jednak menu rozwijane doskonale rozwiązało ten problem, sprawiając, że archiwa są cudownie kompaktowe. Ta funkcja naprawdę mi pomogła, ponieważ w przeciwnym razie prawdopodobnie w ogóle nie umieściłbym archiwów w menu.
AD
Czy istnieje sposób lub jakiś rodzaj widżetu pod paskiem bocznym Archiwa, aby posty blogowe były wyświetlane pod odpowiadającym im miesiącem według tytułu; zamiast tylko samego miesiąca, który po kliknięciu przenosi do nowej strony wyświetlającej wszystkie posty z danego miesiąca w całości?
Przepraszam, jeśli zostało to już wyjaśnione w komentarzach. Nie miałem okazji ich przeczytać.
Dziękuję za wszelką pomoc lub wskazówki, które możesz udzielić w mojej sprawie!
Wsparcie WPBeginner
Witam,
Proszę zapoznać się z naszym artykułem na temat ograniczania liczby miesięcy archiwum w WordPressie.
Admin
Jaswinder
Wielkie dzięki za kod. Ratujesz mi życie.
Carla Izumi Bamford
Dzięki za ten post, bardzo pomocny.
Margaret
To było niezwykle pomocne! Bardzo dziękuję. Zrobiłem dokładnie to, czego potrzebowałem.
Thomas
Witaj WPBEGINNER,
Mam nadzieję, że nadal będziesz zerkać na ten starszy wpis. Po pierwsze, wielkie dzięki za ten świetny tutorial i kod.
Udało mi się uzyskać
Rok
Styczeń (2)
Luty (5)
…
…
Ale nie udało mi się policzyć postów na rok. Jak mogę to zrobić, aby przy wpisie roku pojawiła się liczba wszystkich postów z danego roku
rok (28) …
Wielkie dzięki za pomoc!
Z poważaniem,
Thomas
Erik
Thanks so much for this code!
it is helping me a lot.
Czy jest szansa rozszerzyć to na konkretną kategorię? według ID kategorii?
Jason Wofford
Kod działa idealnie, ale jak mogę dodać dni do każdego z miesięcy?
Tony Lewis
did not work for me seems to be missing some css
Xavier
Czy ten kod już u nikogo innego nie działa??
James
W ogóle nie działa!!!
wynik nie ma nic wspólnego z przykładem.
Dziwne, że niektórzy uznali to za przydatne i świetne.
Jaki jest problem?
Eldad
Chciałem tylko podziękować
Xavier Bonet
Cześć! Po pierwsze! Świetny kod! Działa idealnie! Dzięki!
Zastanawiałem się, czy byłby sposób na edycję kodu, aby umożliwić przesuwanie 18-miesięcznego okresu w górę lub w dół w zależności od tego, co się ogląda? Obecnie można uzyskać dostęp tylko do ostatnich 18 miesięcy. Ale może byłby sposób, aby to zrobić tak, aby po otwarciu, na przykład, 18. miesiąca listy, i otwarciu nowej strony, lista archiwum generowana przez powyższy kod ustawiłaby 18. miesiąc jako środek nowej tablicy pokazującej, powiedzmy, 9 miesięcy przed i 7 po (lub odwrotnie).
Może moje wyjaśnienie nie jest zbyt jasne. Pomysł wpadł mi do głowy podczas przeglądania tej strony: http://marthabeck.com/. Jeśli przewiniesz w dół do menu na samym dole, zobaczysz, że dostępnych jest kilka lat, ale wyświetlane są tylko te miesiące dla bieżącego roku. Po otwarciu nowego roku wyświetlane są miesiące dla tego roku. Oczywiście, to prawdopodobnie zupełnie inny kod, ale przynajmniej działa jako wizualny przykład tego, o czym mówię.
Wsparcie WPBeginner
Spróbuj stworzyć to za pomocą tagów warunkowych w szablonach archiwów opartych na dacie:
Spójrz w kodeksie na is_archive single_month_title
Admin
tobias
Nie pętla foreach(), zapytanie MySQL powinno mieć limit!
Jessica
Czy jest sposób, aby archiwum było dzienne lub nawet tygodniowe, a nie tylko miesięczne?
Personel redakcyjny
Możesz użyć widżetu kalendarza w WordPressie.
Admin
JP Lew
Używam kalendarza, ale oprócz tego zmodyfikowałem kod, aby wyświetlał również codzienne archiwa, działało świetnie. Oto zapytanie:
$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="/rok; ?>/miesiąc, 1, $dzień->rok)) ?>/miesiąc, $dzień->dzień, $dzień->rok)) ?>”>miesiąc, $dzień->dzień, $dzień->rok)) . “, ” . date_i18n(“F”, mktime(0, 0, 0, $dzień->miesiąc, 1, $dzień->rok)) . ” ” . date(“j”, mktime(0, 0, 0, $dzień->miesiąc, $dzień->dzień, $dzień->rok)) . “, ” . $zapytany_rok ?>liczba_postów . “)”; ?>
//outputs: czwartek, 22 sierpnia 2013 (12)
Dziękuję za post, tak przy okazji, to było dokładnie to, czego szukałem. Wydajność jest zaskakująco dobra.
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
Witam,
Podoba mi się ten pomysł. Czy można go również zaadaptować tak, aby w archiwach znajdowały się tylko artykuły z określonej kategorii, a inne kategorie nie?
Roelof Wobben
Asher Charles
Świetny mały fragment kodu, szukałem sposobu na lepsze wyświetlanie archiwów. Pozdrawiam
Carla
Szukałem wszędzie samouczka, jak dostosować moją stronę archiwów. Udało mi się uzyskać na mojej stronie listę tytułów postów i dat postów, co jest świetnym początkiem. A teraz muszę dowiedzieć się, jak je grupować według miesięcy, aby strona wyglądała tak:
2013
Maj
Ten tytuł posta
28 maja 2013
I jeszcze jeden post
20 maja 2013
Nie jestem pewien, jak to zrobić. Czy miałbyś jakieś sugestie? Zauważyłem na forum WordPress i gdzie indziej, że wiele osób chce, aby ich archiwa wyglądały w ten sposób, ale oni (jak ja) nie otrzymali żadnej pomocy.
Dziękuję!
Núria
Dzięki za ten fragment kodu, był bardzo pomocny. Chciałbym tylko wprowadzić drobną zmianę, która spowoduje wyświetlanie nazwy miesiąca w języku lokalnym.
Na linii 16 możesz zastąpić funkcję date() funkcją 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))
W ten sposób funkcja zwróci dla miesiąca marca ciąg „March” po angielsku, „Marzo” po hiszpańsku lub „Març” po katalońsku, podając tylko kilka przykładów, w zależności od języka strony.
Personel redakcyjny
Dziękuję za tę sugestię. Zaktualizowano kod.
Admin
Matt
Używam motywu, który ma widżet dla pasków bocznych. Plik php jest napisany w shortcode. Jak mógłbym to przekonwertować na shortcode, aby umieścić w pliku? Dzięki.
Personel redakcyjny
Weź pierwszy fragment i przekonwertuj go na funkcję. Następnie użyj tego artykułu, aby utworzyć shortcode:
https://www.wpbeginner.com/wp-tutorials/how-to-add-a-shortcode-in-wordpress/
Admin
Ryan
Cześć,
Natknąłem się na to, dokładnie tego szukałem. Ale jest mały problem, mam posty z ostatnich dwóch miesięcy, październik i listopad wyświetlane na pasku bocznym, dodałem nowy w grudniu i grudzień się nie wyświetla na liście archiwum.
Dziwne, dlaczego nie pokazuje bieżącego miesiąca
Personel redakcyjny
To rzeczywiście dziwne. Mamy to działające bez problemu na stronie klienta.
Admin
thao_
Czy jest możliwe wyświetlenie całkowitej liczby postów z całego roku, a także liczby postów dla każdego miesiąca? Tak więc nadal mielibyście liczbę postów każdego miesiąca obok każdego miesiąca, ale także sumę dla roku obok roku. Używając twojego obrazka archiwum jako przykładu, mielibyście 2010 (20) i następnie miesiące, tak jak są obecnie wyświetlane.
Personel redakcyjny
Tak, możesz dodać liczbę wszystkich miesięcy w roku i wyświetlić ją, jeśli chcesz.
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”
Dokonałem jednej zmiany, na którą chciałem zwrócić uwagę. Powyższy kod nie wydawał się wyświetlać najbardziej aktualnego miesiąca. To znaczy, mój sierpień tego roku nie pojawiał się (ponieważ jesteśmy teraz w sierpniu), ale lipiec pokazywał się bez problemu. Zmieniłem instrukcję SQL i teraz się pojawia. Nie jestem pewien, czy chcesz bieżący miesiąc, ale jeśli jest to archiwum, być może nawet bieżący miesiąc jest archiwizowany.
Oto moja zmiana:
post_date YEAR(CURDATE())
To wydaje się pobierać miesiąc, w którym aktualnie jesteśmy. Nie jestem mistrzem SQL, więc być może jest powód, aby tego nie robić, lub nawet lepszy sposób. Jednak działa dla mnie.
Dziękuję za poświęcony czas na ten samouczek. Zdecydowanie uratował mnie przed dalszym frustrowaniem się przy próbie manipulowania funkcją wp_get_archives().
craig coffman
hmm… wygląda na to, że część kodu została usunięta. Powinien tam być symbol większości, pomiędzy „post_date” a „YEAR(CURDATE())”. Spróbuję ponownie i mam nadzieję, że tym razem się uda.
post_date > YEAR(CURDATE())
Sorry for the additional post, but a ‘tweak’ doesn’t change anything if the proper code does not display
Ryan
Hej Craig,
Nie jestem pewien, gdzie to umieścić
post_date > YEAR(CURDATE())
Dzięki
craig coffman
Ryan –
Dziwne. Opublikowałem odpowiedź na stronie Float Left, ale wygląda na to, że jej tam nie ma. Oto plik do pobrania, pokazujący, gdzie znajduje się kod:
http://www.octoberland.com/fileChute/displayCurrentMonth.zip
Dodałem kod do pliku index.php z mojego szablonu. Jest tam, ponieważ klient chciał, aby był na każdej stronie. Pobiera tylko miesiące z bieżącego roku. To znaczy, gdybyś cofnął się do 2011 roku, wyświetlane miesiące nadal byłyby 2012.
Dodałem swój kod do linii ‘WHERE’ w MySQL, zastępując kod, który tam miał Andy.
Ponadto, mam tam również standardową funkcję archiwum WP, ponieważ mój klient chciał również wyświetlić roczne archiwum. Nie jest to konieczne do wyświetlania bieżącego miesiąca.
Mam nadzieję, że to pomoże.
– Craig
Ryan
Dziękuję Craig, to wydaje się rozwiązać problem.
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
jak wyświetlić dni?
Personel redakcyjny
Chcesz wyświetlić wszystkie 30 dni dla wszystkich miesięcy? Czy po prostu chcesz wyświetlić dni? Lepiej byłoby użyć wbudowanego widżetu kalendarza.
Admin
Akshat Goel
Great post!! Saved my day!
zuzanka
Cześć, używam tylko widżetu, a nie dodatkowej wtyczki do archiwum. Ograniczyłem liczbę miesięcy, np. do 2, ale spodziewam się mieć 2 miesiące, a potem resztę pod „…” lub „archiwum”. Nie mogę znaleźć sposobu, aby pokazać resztę. Czy jest ktoś, kto zna ten problem? Dziękuję bardzo.
wpbeginner
@sgclark That sounds good. Will have to test out his plugin and then add it in this article
sgclark
@wpbeginner Niewykorzystane miesiące są opakowane we własną unikalną klasę CSS, więc możesz po prostu zastosować „display:none” dla niewykorzystanych miesięcy. Następnie, gdy post pojawi się w danym miesiącu, przełącza się na inną klasę (za pomocą PHP).
wpbeginner
@sgclark Ta wtyczka brzmi dobrze… Zastanawiam się, jak to by działało, gdybyśmy w ogóle nie chcieli pokazywać niewykorzystanych miesięcy. Ale mimo to jeszcze jej nie wypróbowałem, ponieważ nie jest hostowana w repozytorium...
sgclark
Justin Blanton stworzył fajny wtyczkę Wordpress o nazwie SmartArchives. Jestem pewien, że możesz również zagłębić się w jego plik CSS, aby pobawić się wyświetlaniem i nie musisz martwić się o cały dodatkowy kod na stronie Sidebar PHP. – http://hypertext.net/projects/smartarchives