Chciałbym użyć niestandardowego archiwum typów postów jako strony głównej witryny, aby to zrobić
http://the_site.com/
to niestandardowe archiwum typu post wyświetlane zgodnie z moim archive-{post-type}.php
plikiem.
Idealnie chciałbym zmienić zapytanie przy użyciu is_front_page()
w moim functions.php
pliku. Próbowałem, używając strony o nazwie „Strona główna” jako mojej strony głównej:
add_filter('pre_get_posts', 'my_get_posts');
function my_get_posts($query){
global $wp_the_query;
if(is_front_page()&&$wp_the_query===$query){
$query->set('post_type','album');
$query->set('posts_per_page',-1);
}
return $query;
}
ale strona główna zwraca treść „Strona główna” i wydaje się ignorować niestandardowe zapytanie.
Co ja robię źle? Czy istnieje ogólnie lepszy sposób na to?
Odpowiedzi:
Po ustawieniu strony statycznej jako strony głównej możesz ją dodać do swojej strony
functions.php
i możesz zacząć. Spowoduje to równieżarchive-POSTTYPE.php
prawidłowe wywołanie szablonu.źródło
if(is_admin()) return;
na samym początku, w przeciwnym razie zadziała z obszarem administracyjnym.Zmień nazwę swojego archiwum CPT na home.php
Następnie użyj pre_get_posts, aby zmienić zapytanie na stronie głównej, aby wyświetlać tylko CPT
Zamień swój-cpt na nazwę niestandardowego typu posta.
źródło
Dzięki za odpowiedź, Ljaas - Chciałem rozwiązać dokładnie ten problem. Aby uzyskać niestandardowy szablon archiwum typu posta do wywołania, musiałem dodać następujące warunki:
źródło
To działa lepiej dla mnie, zastępując zarówno posty na blogu, jak i statyczną stronę w Ustawieniach> Czytanie> Strona główna wyświetla:
Używam go w połączeniu z zastąpieniem szablonu za pomocą filtrów
front_page_template
ihome_template
do zwrócenia niestandardowego szablonu.źródło
Dla mnie łamie paginację: albo wybierasz indeks, albo stronę statyczną jako stronę główną, linki do stronicowania pojawiają się, ale po kliknięciu na stronę 2 otrzymuję:
Myślę, że potrzebuje pewnych reguł przepisywania, aby złapać argument stronicowany i przekazać go poprawnie.
W każdym razie niestandardowa strona szablonu powinna być rozwiązaniem z dodatkowymi regułami przepisywania.
źródło