ผู้เขียน หัวข้อ: สร้าง Custom Page Template  (อ่าน 844 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ smf

  • [color=green][i]"ถ้าคุณไม่สามารถอธิบายอย่างง่ายๆ ให้คนอื่นเข้าใจได้แล้วล่ะก็ แสดงว่าคุณยังเข้าใจมันไม่ดีพอ"[/i][/color]
  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1,368
  • พอยท์: 5
    • ดูรายละเอียด
    • pordoo.com
    • อีเมล์
สร้าง Custom Page Template
« เมื่อ: 8 สิงหาคม 2016, 14:22:41 »
โดยปรกติแล้ว ในการสร้าง Page ขึ้นมานั้น จะมีการเรียกใช้ File page.php ในการแสดงผลให้ Page ทุก Page แต่ถ้าหากเราต้องการให้สร้าง Page นั้นแสดงผลไม่เหมือน Page อื่น ๆ ละ เราจะต้องทำยังไง

สร้าง page-slug.php เพื่อหน้านั้น
วิธีแรกคือ ให้สร้าง File ชื่อ page-xxx.php โดย xxx คือ slug หรือถ้าให้ดูอย่าง ๆ ง่าย slug จะคือคำที่วงไว้ในรูปครับ



จากรูป slug คือ tester ให้เราสร้าง File ชื่อ page-tester.php ขึ้นมา หลังจากนี้หน้า (Pages) อื่น ๆ จะให้งาน File page.php แต่เฉพาะหน้า tester นี้จะเรียกใช้งาน File page-tester.php เท่านั้น คราวนี้ก็จะมีข้อสงสัยต่อว่า ถ้าเราต้องการมีอีก 2 หน้าที่ต้องการให้เหมือนกับหน้า tester ละ เราก็ต้องสร้าง page-xxx.php ขึ้นมาอีกสอง File แล้วถ้าเกิดมีอีก 10 หน้าละ เราคงมี File เต็ม Folder Theme เรากันเลยทีเดียว ดังนั้นมาดูวิธีที่สองกันครับ

สร้าง Custom Page Template
ใช่แล้วครับ วิธีที่สองนั้นก็คือ หัวข้อของเรานั่นเอง โดยวิธีสร้าง Custom Page Template นั้นก็ไม่ได้ยากอะไร สมมติเราสร้าง File ขึ้นมาว่า page_test.php เพื่อสร้าง Test Template ขึ้นมา ใน File page_test.php เราต้องขึ้นหัวด้วย


 
<?php
 
/*
 Template name: XXXXX
 */
 
?>
 


เราสามารถใส่ชื่อ Template ของเราว่าอะไรก็ได้ โดยแทนที่คำ XXXXX ในตัวอย่าง อย่างเช่น


 
<?php
 
/*
 Template name: Test
 */
 
?>
 


โดย Template ที่เราสร้าง จะปรากฎให้เราเลือกเวลาเราสร้าง หรือแก้ไข Page ในตำแหน่งดังรูป



ดังนั้นถ้าเรามีหน้าซัก 10 หน้าที่ต้องการใช้ Template นี้ ก็แค่เลือกให้ใช้งานโดยไม่ต้องไปสร้าง File ให้เยอะแยะรก Theme ของเรา

สร้าง File แล้ว อย่าลืมเขียน Code ลงไปด้วยนะครับ ไม่อย่างนั้นมันก็ไม่แสดงผลอยู่ดีนะ


ที่มา: http://rabbitinblack.com/2012/08/wordpress-custom-page-template/
« แก้ไขครั้งสุดท้าย: 8 สิงหาคม 2016, 14:26:10 โดย smf »