หลายครั้งนะครับที่เราอาจจะซื้อหรือดาวน์โหลดธีมมาใช้กับเว็บของเรา เพราะว่ามันก็ช่วยประหยัดเวลาในการออกแบบไปได้เยอะ และธีมบางธีมก็มีลูกเล่นที่เหมาะกับความต้องการของเราด้วย ดังนั้นจึงไม่แปลกที่หลายคนเลือกที่จะโหลดธีมมาใช้งาน เพียงแต่ว่า บางทีธีมเหล่านั้นก็มักจะมีลูกเล่นพิเศษบางอย่างที่ติดมาแต่เราไม่ได้ใช้งานด้วยนะสิครับ แล้วเราจะ ลบ Custom Post Type ออกไปได้อย่างไร?
ปัญหาอย่างหนึ่งที่ผมเจอเวลาซื้อธีมพรีเมียมมาใช้ก็คือ “มีอะไรเยอะเกินความจำเป็น” ครับ เพราะธีมที่เค้าทำขาย เค้าก็พยายามยัดทุกอย่างที่คิดว่าอาจจะต้องใช้ลงมาในธีมนั้นๆ เพราะเค้าก็ไม่รู้ว่าคนซื้อจะเอาไปทำอะไร ดังนั้นสิ่งที่ติดมาด้วย มันเลยเยอะมาก ยิ่งถ้าหากเราไม่ได้ใช้งานทุกอย่างด้วย เห็นแล้วยิ่งรู้สึกขัดหูขัดตาครับ ในความเป็นจริงแล้ว เราควรจะเห็นในสิ่งที่เราต้องใช้งานจะดีกว่า อะไรที่ไม่ได้ใช้ก็เอาออกไปซะ
ธีมหลายธีม จะมีการสร้าง Custom Post Type ของตัวเองขึ้นมาสำหรับธีมตัวเองด้วยเช่นกันครับ ถ้าเราต้องใช้งานก็โอเค แต่ถ้าเราไม่ได้ใช้ เราก็จะเห็นเมนูพวกนี้ปรากฎในหน้า Dashboard ผมว่ามันค่อนข้างน่ารำคาญและกินพื้นที่หน้าจอไปด้วย หรือเวลาเอาไปทำให้ลูกค้า บางทีลูกค้าก็อาจจะถามว่า เมนูนี้คืออะไร? ถ้าไม่ได้ใช้งานทำไมต้องแสดง นั่นแหละครับ คือสิ่งกวนใจ
สำหรับการเอาออกนั้น เราสามารถทำได้โดยการเขียนคำส่ัง unregister_post_type นี้ลงในไฟล์ functions.php ในธีมที่เราใช้งานอยู่ครับ
function delete_post_type(){ unregister_post_type( 'your_custom_post_type_1'); unregister_post_type('your_custom_post_type_2'); unregister_post_type('your_custom_post_type_3'); } add_action('init','delete_post_type');
เขียนเสร็จแล้วก็รีเฟรชหน้าจอหลังบ้านอีกรอบนึงก็จะเห็นว่าเมนูเหล่านั้นหายไปแล้วครับผม ซึ่งในวันที่ผมเขียนนี้ (6 พฤศจิกายน 2018) คำสั่งนี้ยังใช้งานได้อยู่นะครับ เผื่อใครที่เจอปัญหาแบบเดียวกัน แล้วอยากจะลบเมนูพวกนี้ออกไปให้พ้นหน้าจอซะ ก็ลองนำไปใช้ดูได้ครับ
ข้อมูลอ้างอิง https://gist.github.com/johnkolbert/769160