Logika na pierwszej stronie jest jedną z najbardziej mylących funkcji WordPressa i jest wyjątkowo trudna do wyjaśnienia i podsumowania. Jak wspomniałem w komentarzu, z tyłu spieszyłem nieświętą ilość czasu, aby zebrać za to moją zdradę logiki na pierwszej stronie .
Ale ponieważ jest to popularny wątek, pozwól mi odpowiedzieć na te bardzo szczegółowe pytania, które miałeś.
Jaka jest różnica między home.phpi index.php?
home.phpjest szablonem indeksu postów (archiwum rodzimego typu postów, co jest szczególnym przypadkiem w WP). WP podejmie próbę wyszukania indeksu postów, niezależnie od tego, czy są one wyświetlane w katalogu głównym witryny, czy na stronie poświęconej postom.
index.phpto catch-all szablon. Jest to ostateczny wybór we wszystkich gałęziach hierarchii szablonów i zostanie wybrany, gdy nic innego nie pasuje, zarówno dla archiwów, jak i pojedynczych widoków.
Można używać tylko indeksu postów home.php, ale wszystkie inne konteksty mogą i będą z niego korzystać index.php.
Jaki jest idealny warunek do użycia home.phpniżindex.php
Służy home.phpdo dostosowywania indeksu postów.
Używasz, index.phpaby zapewnić najbardziej ogólny szablon w swoim motywie, odpowiedni do wyświetlania czegokolwiek.
Niektóre motywy wybierają opcję pustą index.phpi zapewniają bardziej szczegółowe szablony dla wszystkich możliwych przypadków, więc nigdy nie trzeba jej używać.
Jaki jest idealny warunek korzystania front-page.php?
front-page.php jest używany do indeksowania postów na głównej lub statycznej stronie głównej, jeśli jest włączony.
Jest to szablon o wysokim priorytecie, więc jeśli motyw go zawiera, nie można wybrać dowolnego szablonu dla statycznej strony głównej. Z tego powodu prawie nigdy nie jest uwzględniony w publicznie wydanych motywach (co jest poprawne).
Najlepiej nadaje się do tego w prywatnych projektach, ponieważ jest łatwiejszy do skonfigurowania niż szablon strony.
Kiedy używam front-page.phpwtedy, jakie konkretne zadanie index.phpdla mnie wtedy robi?
index.phpJest jeszcze jeden haczyk wszystko szablon dla wszystkich pozostałych przypadkach.
Jeśli używasz statycznej strony początkowej (do której się front-page.phpto odnosi), wtedy strona postów spróbuje użyć, home.phpa następnie index.php.