• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kolejność wyświetlania postów - wordpress

Object Storage Arubacloud
0 głosów
142 wizyt
pytanie zadane 12 lutego 2021 w PHP przez Chris Black Początkujący (330 p.)

Witam

Chce zmienić kolejność wyświetlania postów  w Wordpress z domyślnej (czyli po dacie publikacji) na sortowanie na podstawie meta value postu ( timestamp ). Do pliku functions.php motywu potomnego dodałem taki kod:

function modify_main_query($query) {
   if ( ! is_admin() && $query->is_main_query() {
       $query->set('orderby', 'meta_value_num');
       $query->set('meta_key', 'moja_data');
       $query->set('order', 'DESC');
   }
}

add_action( 'pre_get_posts', 'modify_main_query' );

Działa to tylko na stronie głównej, na stronach kategorii, tagów, wyszukiwarki nic nie zmienia. Chciałbym żeby to zmieniało sortowanie wpisów wszędzie. Mógłby mi ktoś coś doradzić?smiley

1 odpowiedź

+1 głos
odpowiedź 12 lutego 2021 przez radek024 Szeryf (77,160 p.)
Nie jestem pewny, ale zapytanie na innych stronach aniżeli główna wywołuje inne zapytanie, a więc musisz również je nadpisać.
komentarz 12 lutego 2021 przez Chris Black Początkujący (330 p.)

Znalazłem część która odpowiada za wyświetlanie kolejności na stronach kategorii i tagów.

function theme_apply_archive_filter( $query ) {
	if ( is_archive() && $query->is_main_query() ) {
		$filter = theme_get_archive_filter_value();
		switch ( $filter ) {
			case 'newest':
				$query->set( 'orderby','date' );
                                $query->set('order', 'DESC');
				break;
  			case 'oldest':
				$query->set( 'orderby','date' );
				$query->set( 'order','ASC' );
				break;
			case 'most_commented':
				$query->set( 'orderby','comment_count' );
				$query->set( 'order','DESC' );
				break;
			default:
				do_action( 'theme_apply_archive_filter_' . $filter, $query );
				break;
		}

Gdy zmieniam bezpośrednio w pliku to działa ale nie bardzo wiem jak go nadpisać w pliku functions php, wyskakuje mi błąd gdy próbuje.

komentarz 12 lutego 2021 przez radek024 Szeryf (77,160 p.)
A nie możesz nadpisać w plikach odpowiadających za wyświetlanie danych części strony? Może w ten sposób? :D

Podobne pytania

0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 12 lutego 2023 w PHP przez PiotrekPoznan Początkujący (250 p.)
0 głosów
1 odpowiedź 210 wizyt
pytanie zadane 20 sierpnia 2020 w PHP przez Bakkit Dyskutant (7,600 p.)
0 głosów
2 odpowiedzi 179 wizyt
pytanie zadane 8 lutego 2019 w PHP przez stanlejoss Nowicjusz (120 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...