ตรรกะหน้าแรกเป็นหนึ่งในคุณสมบัติที่สับสนที่สุดใน WordPress และยากที่จะอธิบายและสรุปได้เป็นพิเศษ ตามที่ระบุไว้ในความคิดเห็นในขณะที่กลับฉันเผาจำนวนไม่บริสุทธิ์เวลาในการรวบรวมตรรกะหน้าโกงแผ่นสำหรับมัน
แต่เนื่องจากนี่เป็นกระทู้ยอดนิยมให้ฉันพยายามตอบคำถามเฉพาะที่คุณมี
ความแตกต่างระหว่างhome.php
และindex.php
คืออะไร
home.php
เป็นเทมเพลตสำหรับดัชนีโพสต์ (ที่เก็บถาวรของชนิดโพสต์ดั้งเดิมซึ่งเป็นกรณีพิเศษใน WP) WP จะพยายามค้นหาดัชนีของโพสต์ไม่ว่าจะแสดงที่รูทของเว็บไซต์หรือที่หน้าโพสต์เฉพาะ
index.php
คือ catch - เทมเพลตทั้งหมด เป็นตัวเลือกสุดท้ายในลำดับชั้นของเทมเพลตทั้งหมดและจะถูกเลือกเมื่อไม่มีสิ่งใดเหมาะสมสำหรับทั้งมุมมองที่เก็บถาวรและมุมมองเอกพจน์
ดัชนีโพสต์เท่านั้นที่สามารถใช้home.php
แต่ทุกบริบทอื่น ๆ index.php
อาจและจะใช้
อะไรเป็นเงื่อนไขที่เหมาะที่จะใช้home.php
มากกว่าindex.php
คุณใช้home.php
กำหนดดัชนีโพสต์เอง
คุณใช้index.php
เพื่อให้แม่แบบทั่วไปมากที่สุดในชุดรูปแบบของคุณเหมาะสำหรับการแสดงอะไร
บางธีมเลือกที่จะว่างเปล่าindex.php
และให้แน่ใจว่ามีเทมเพลตเฉพาะสำหรับกรณีที่เป็นไปได้ทั้งหมดดังนั้นจึงไม่จำเป็นต้องใช้
เงื่อนไขที่เหมาะสมที่สุดในการใช้front-page.php
คืออะไร
front-page.php
ใช้สำหรับดัชนีโพสต์ที่รูทหรือหน้าคงที่หากเปิดใช้งาน
เป็นเทมเพลตที่มีลำดับความสำคัญสูงดังนั้นหากธีมมีคุณไม่สามารถเลือกเทมเพลตเองสำหรับหน้าคงที่ได้ ด้วยเหตุนี้จึงแทบไม่เคยรวมอยู่ในธีมที่เผยแพร่สู่สาธารณะ (ซึ่งถูกต้อง)
การใช้งานที่ดีที่สุดสำหรับมันอยู่ในโครงการส่วนตัวเนื่องจากง่ายต่อการกำหนดค่ามากกว่าแม่แบบหน้า
เมื่อฉันใช้งานfront-page.php
อะไรที่เฉพาะเจาะจงindex.php
สำหรับฉัน
index.php
คือยังคงจับแม่แบบทั้งหมดสำหรับกรณีอื่น ๆ ทั้งหมด
ถ้าคุณใช้หน้าคงที่ (ซึ่งfront-page.php
จะนำไปใช้) แล้วหน้าโพสต์ของคุณจะพยายามที่จะใช้แล้วhome.php
index.php