W Ustawieniach czytania jest miejsce na ustawienie liczby wyświetlanych postów, która wpływa na liczbę postów wyświetlanych we wszystkich kontekstach. Chciałbym zamiast tego wyświetlać pewną liczbę postów na stronie głównej i inną liczbę postów na stronach takich jak archiwum, wyniki wyszukiwania itp.
Zdaję sobie sprawę, że mógłbym to zrobić, edytując pliki motywów i zmieniając parametry zapytania, ale wolałbym mieć łatwiejszy dostęp do prostej strony ustawień. Dawno temu natknąłem się na wtyczkę, która to zrobiła, ale nie mogę jej teraz znaleźć.
Czy ktoś wie o wtyczce, aby to zrobić, a nawet o funkcji, którą mógłbym wprowadzić w functions.php, aby osiągnąć to samo?
Odpowiedzi:
Uważam, że najlepszym sposobem na zrobienie tego we wtyczce jest uruchomienie następującej funkcji przykładowej po
pre_get_posts
napotkaniu haka akcji.$wp_query
Obiekt jest dostępny, czyli tagi warunkowe są dostępne, ale przed WordPress dostaje stanowisk, co oznacza, zmieniasz zapytanie vars przed pierwszym zapytaniu uruchomiony, raczej niż dodanie drugiego zapytania jak kiedy query_posts () jest używana w temacie plik.źródło
możesz wykonać niestandardową pętlę za pomocą zapytania_postów i określić liczbę postów według is_home, is_archive itp.
tylko prosta instrukcja if wraz z query_posts
źródło
query_posts
motyw, zignorujesz oryginalne zapytanie i zrobisz inne, zbędne.Aby dodać do tego pytania. Czy ktoś wie, jak określić post_per_page dla tej funkcji funkcja custom_posts_per_page ($ query), jeśli doda nową stronę do index.php w następujący sposób:
źródło
W trosce o kompletność stwierdziłam, że w
query_posts
połączeniu z$query_string
konkatenacją działa dobrze.Umieściłem ten kod w
index.php
(mój motyw nie ma category.php) ...Oczywiście modyfikujemy wewnętrzny ciąg zapytania w pętli, zastępując domyślną liczbę postów na stronę .
Działa to tak, że zapewnia mniejszą listę postów na stronie głównej, na której pokazuję pełne posty, oraz znacznie większą listę postów wszędzie indziej (kategorie, według daty itp.), Gdzie wyświetlam tylko podsumowania postów.
Należy jednak pamiętać, że w przeciwieństwie do przyjętej odpowiedzi, zapytanie zostanie uruchomione dwukrotnie , więc nie jest to tak przyjemne rozwiązanie.
źródło