Remove custom post type slug

การนำ Custom Post Type Slug ออกจาก WordPress Permalink

โดยปกติแล้ว เมื่อเราทำการสร้างธีมของเราขึ้นมาและต้องการสร้าง Custom Post Type เพื่อใช้งานอย่างใดอย่างหนึ่งขึ้นเช่น เราสร้าง Custom Post Type ชื่อ book เพื่อทำการเก็บข้อมูลเกี่ยวกับหนังสือทั้งหมด ระบบของ WordPress จะทำการสร้างลิงก์ของเราให้เป็นลักษณะดังนี้ www.xxx.com/book/postname โดยลิงก์หรือเพอร์มาลิงก์นี้จะมีคำว่า book คั่นกลางอยู่ เพราะว่าระบบของ WordPress นั้นต้องการป้องกันความสับสนกันระหว่างลิงก์ชของ Custom Post Type และ Post/Page

วิธีการนำ Custom Post Type Slug ออกจาก Permalink

ในบางกรณีเราต้องการ Permalink ที่สั้นและกระชับ เพื่อให้ผู้อ่านสามารถจดจำได้ง่ายเป็นต้น โดยต้องการตัดคำว่า book ออกจากเพอร์มาลิงก์ของเรา ให้เหลือเพียง www.xxx.com/postname อย่างนี้ เราจะทำการแก้ไขโดยทำการเขียนฟังก์ชั่น 2 ฟังก์ชั่นดังต่อไปนี้ลงไปในไฟล์ functions.php

ฟังก์ชั่นแรก themename_remove_slug จะเป็นฟังก์ชั่นที่ใช้วิธีการแทนที่โดยทำการแก้ Slug ของเราในที่นี้คือ book ให้เหลือเพียงแค่ Slash ( / )  เท่านั้น ในขณะที่ฟังก์ชั่น themename_parse_request ตัวที่สองนั้น จะทำการตั้งค่า Book ของเรานั้นอยู่ในกลุ่ม Post Type เพื่อให้ WordPress รู้จักว่ามี Post Type นี้ใช้งานใน main query ด้วย หากเราใส่ฟังก์ชั่นใดฟังก์ชั่นหนึ่งเพียงตัวเดียว ลิงก์ของเราก็จะไม่สามารถเปลี่ยนได้

หากใครสนใจก็ลองใช้ดูก็ได้นะครับ

บทความนี้มีประโยชน์สำหรับคุณหรือไม่?

ให้คะแนนบทความนี้

คะแนนเฉลี่ย / 5. จำนวนโหวต:

As you found this post useful...

Follow us on social media!

นายปิ๊ก


ผู้ก่อตั้งเว็บไซต์ Themevilles.com เป็นอาจารย์สอน WordPress และ WooCommerce ในเว็บคอร์สออนไลน์ Skilllane และรับทำเว็บไซต์ ทำการตลาดออนไลน์ เช่น SEO, Facebook และ LINE


Shares
สมัครสมาชิกเพื่อรับข้อมูลข่าวสาร
Get the latest content first.
Read about Privacy Policy.