วิธีการใช้ประเภทโพสต์ที่กำหนดเองและฟิลด์ที่กำหนดเองใน WordPress
เผยแพร่แล้ว: 2014-06-10WordPress ไม่ได้จำกัดอยู่แค่การเขียนบล็อกอีกต่อไป แต่ยังเป็นระบบจัดการเนื้อหาที่มีคุณลักษณะครบถ้วนซึ่งสามารถแสดงและจัดรูปแบบเนื้อหาประเภทใดก็ได้ที่คุณมอบให้ มาพูดถึงสองวิธีที่ยอดเยี่ยมในการขยาย WordPress: ประเภทโพสต์ที่กำหนดเองและฟิลด์ที่กำหนดเอง
ประเภทโพสต์ที่กำหนดเอง
ดูเหมือนว่าเว็บไซต์ทดสอบ Monday Morning Mug (ที่เราใช้ในโพสต์บล็อกการรวมอีเมล) มีปัญหาใหม่ให้จัดการ บล็อกของเรามีขนาดใหญ่มากจนเราจ้างพนักงานตรวจสอบกาแฟเต็มเวลา พวกเขายุ่งอยู่กับการชงกาแฟและเขียนรีวิว พวกเขาได้โพสต์บทวิจารณ์เหล่านี้ในบล็อก แต่ผู้อ่านของเราบอกเราว่าบทวิจารณ์ทั้งหมดนี้เป็นอุปสรรคต่อเนื้อหาบล็อกที่ "จริง" ของเรา เราจำเป็นต้องสร้างที่แยกต่างหากสำหรับบทวิจารณ์กาแฟของเรา แต่หน้า WordPress ปกติจะไม่ถูกตัดออก ผู้วิจารณ์ยังได้แนะนำว่าพวกเขาอยากจะมีที่สำหรับเก็บข้อมูลได้อย่างง่ายดาย เช่น ประเทศที่กาแฟมาจากและบันทึกการชิม บนเว็บไซต์ ดูเหมือนการใช้งานที่สมบูรณ์แบบสำหรับประเภทโพสต์ที่กำหนดเอง ซึ่งเป็นคุณลักษณะของ WordPress ที่ช่วยให้เราสร้างส่วนเนื้อหาใหม่บนไซต์ของเราได้
ประเภทโพสต์ที่กำหนดเองมีความยืดหยุ่นอย่างไม่น่าเชื่อและสามารถนำไปใช้กับเนื้อหาประเภทใดก็ได้: คำพูด วิดีโอ และเฉดสีที่แตกต่างกันคือตัวอย่างประเภทของโพสต์ที่กำหนดเอง
เราต้องการเพิ่มส่วนใหม่ของเว็บไซต์ของเราในไดเร็กทอรีย่อย /coffees/
ที่เต็มไปด้วยบทวิจารณ์เกี่ยวกับกาแฟ การดำเนินการนี้จะต้องมีการโต้แย้งกันเล็กน้อย แต่ควรเป็นกระบวนการที่ค่อนข้างง่าย
หมายเหตุ: ในการดำเนินการนี้ คุณจะต้องสามารถแก้ไขไฟล์ .php ในไดเร็กทอรีการติดตั้ง WordPress ของคุณได้ ซึ่งโดยปกติแล้วจะต้องเข้าถึง FTP/SFTP/SSH ตรวจสอบให้แน่ใจว่าคุณมีสิ่งนี้ก่อนที่จะดำเนินการต่อ
ทุกธีมของ WordPress สามารถใช้ไฟล์ functions.php ซึ่งอยู่ที่:
/wp-content/themes/your_current_theme/functions.php
โดยทั่วไป ไฟล์นี้ใช้สำหรับการเปลี่ยนแปลงไซต์เฉพาะธีมรวมถึงการปรับเปลี่ยนไซต์แบบกำหนดเองที่มีขนาดเล็กลง เช่นเดียวกับที่เรากำลังจะทำ
หมายเหตุ: เราจะเพิ่มโค้ดลงในไฟล์ functions.php
ซึ่งหมายความว่าเป็นโค้ดเฉพาะของธีม หากคุณเพิ่มสิ่งนี้ลงในไฟล์ functions.php ของคุณแล้วเปลี่ยนธีมในการติดตั้ง WordPress คุณจะลบประเภทโพสต์ที่กำหนดเองออกจากเว็บไซต์ของคุณ คุณสามารถรักษาประเภทเนื้อหาแบบกำหนดเองได้โดยใช้ปลั๊กอิน เช่น Custom Post Type UI
1. เปิดไฟล์ functions.php ของคุณและเพิ่มรหัสต่อไปนี้ที่ด้านล่างของไฟล์:
function create_new_post_type() { $labels = array( 'name' => __('Coffee Reviews'), 'singular_name' => __('Coffee Review'), ); $args = array( 'labels' => $labels, 'public' => true, 'has_archive' => true, 'menu_position' => 5, 'description' => 'Reviews And Types of Coffee', 'rewrite' => array('slug' => 'reviews'), 'supports' => array( 'title', 'comments', 'editor', 'thumbnail', 'custom-fields', 'revisions'), ); register_post_type('Reviews', $args); } add_action('init', 'create_new_post_type');
เนื่องจากเราไม่ชอบใช้โค้ดโดยเฉพาะอย่างยิ่งโดยไม่รู้ว่ามันใช้ทำอะไร มาดูกันดีกว่าว่าโค้ดนี้ทำอะไรได้บ้าง
หมายเหตุ: คุณอาจสังเกตเห็นว่า $labels
และ $args
ถูกกำหนดไว้นอกฟังก์ชัน register_post_type()
แม้ว่าจะเป็นเพียงการส่งต่อเป็นอาร์กิวเมนต์ไปยังฟังก์ชันนั้นในภายหลัง วิธีนี้ช่วยจัดระเบียบและความสามารถในการอ่าน แต่คุณ สามารถ รวมอาร์เรย์ทั้งสองไว้ในอาร์กิวเมนต์เดียวได้ มันคงยากกว่าที่จะเข้าใจ
อาร์เรย์ $args
มีข้อมูลเฉพาะทั้งหมดที่เราต้องการเพื่อกำหนดประเภทเนื้อหาใหม่ของเรา นี่คือสิ่งที่ทำ:
-
'labels'
– อาร์เรย์ที่กำหนดสิ่งที่เราจะเรียกว่าประเภทเนื้อหาของเรา มีป้ายกำกับอีกมากมายที่คุณสามารถใช้ได้ และรายการทั้งหมดมีอยู่ในเอกสารประกอบที่นี่ -
'public'
– บูลีนที่กำหนดว่าจะสามารถดูโพสต์ภายนอกแผงการดูแลระบบได้หรือไม่ -
'has_archive'
– หากเป็นจริง บูลีนนี้จะสร้างที่เก็บถาวรของโพสต์ที่กำหนดเองประเภทนี้ เช่นเดียวกับโพสต์ WordPress มาตรฐาน -
'menu_position'
– จำนวนเต็มนี้จะเปลี่ยนตำแหน่งที่ปุ่มการนำทางโพสต์แบบกำหนดเองของคุณไป เลข 5 ระบุว่าจะไปอยู่ใต้แท็บโพสต์โดยตรง สำหรับรายการรหัสตัวเลขทั้งหมด โปรดดูเอกสารประกอบเดียวกัน -
'description'
– อธิบายประเภทโพสต์ -
'rewrite'
- สิ่งนี้เปลี่ยนกระสุนเป็น "บทวิจารณ์" ซึ่งจะช่วยสร้างโครงสร้างลิงก์ถาวรที่ใช้งานได้ (สามารถบูลีนได้เช่นกัน โปรดตรวจสอบเอกสารประกอบสำหรับข้อมูลเพิ่มเติม) -
'supports'
– อาร์เรย์ที่กำหนดว่าฟีเจอร์การแก้ไข/โพสต์ของ WordPress ใดบ้างที่เปิดใช้งาน อันนี้ค่อนข้างยืดหยุ่นและมีตัวเลือกมากมาย แต่เราจะต้องcustom-fields
และตัวeditor
เป็นอย่างน้อยสำหรับโพสต์นี้
ฟังก์ชัน register_post_type()
เรียกว่า next ซึ่งสร้างประเภทโพสต์ใหม่ที่เรียกว่ารีวิวโดยใช้อาร์เรย์ของอาร์กิวเมนต์ที่เราเพิ่งกำหนด
สุดท้าย เราต้องเรียกใช้ฟังก์ชันสุดท้ายเพื่อทำให้กระบวนการเสร็จสมบูรณ์ register_post_type()
ควรเริ่มต้นโดยการกระทำ 'init' เสมอ เราสามารถขอฟังก์ชั่นใหม่ของเราเพื่อเริ่มต้นโดยเรียก
add_action(‘init’, ‘create_new_post_type’);
สุดยอด! ตอนนี้ถ้าเราเข้าสู่แผงผู้ดูแลระบบ WordPress เราควรเห็นแท็บใหม่ทางด้านซ้ายที่เรียกว่า "บทวิจารณ์"
2. ตอนนี้เราได้ตั้งค่ารีวิวเป็นประเภทโพสต์ที่กำหนดเองแล้ว เราจำเป็นต้องอัปเดตโครงสร้างลิงก์ถาวรเพื่อให้ผู้อ่านค้นหาโพสต์ของเราได้ง่าย นอกจากนี้ยังทำให้ URL ของเราอ่านง่ายขึ้นและเป็นมิตรกับ SEO
3. ใต้แถบเมนูการตั้งค่า -> ลิงก์ถาวร คุณจะพบตัวเลือกทั่วไปมากมายสำหรับโครงสร้างลิงก์ถาวร เราจะเปลี่ยนการตั้งค่าแบบกำหนดเองให้ตรงกับฟิลด์ /%category%/%postname%/
ซึ่งหมายความว่า WordPress จะสร้าง URL ให้ตรงกับหมวดหมู่และชื่อบทความของเรา
หมายเหตุ: นี่เป็นการเปลี่ยนแปลงทั่วทั้งไซต์ และจะส่งผลต่อโพสต์ของคุณในหมวดหมู่อื่นๆ
ตอนนี้เรามาดู URL ของโพสต์ที่นักวิจารณ์ของเราเขียนเกี่ยวกับกาแฟสุมาตรา เกเทียร่า:
มหัศจรรย์! ตรวจสอบ URL นั้น เรามีบทวิจารณ์แยกเป็นไดเรกทอรีของพวกเขาเอง และ URL นั้นเขียนด้วยภาษาอังกฤษล้วน ตอนนี้ผู้อ่านของเรารู้ดีว่าพวกเขาจะได้รับอะไรเมื่อคลิกลิงก์
ฟิลด์ที่กำหนดเอง
แม้ว่าผู้รีวิวของเราจะชอบส่วนรีวิวแบบใหม่ แต่พวกเขาก็ขอให้เรารวมบางอย่างไว้ด้านหลังซึ่งช่วยให้พวกเขาป้อนข้อมูลทั่วไปที่พวกเขาเขียนเกี่ยวกับกาแฟทุกชนิด เช่น ประเทศต้นกำเนิดและบันทึกการชิม ดูเหมือนว่าการใช้งานฟิลด์ที่กำหนดเองได้อย่างสมบูรณ์แบบ ซึ่งโชคดีที่มันใช้งานได้ง่ายมาก
1. ในโปรแกรมแก้ไขรีวิวแต่ละรายการ คุณจะเห็นปุ่มตัวเลือกหน้าจอที่มุมบนขวาของตัวแก้ไข:
ซึ่งขยายเป็นสิ่งนี้เมื่อคลิก:
2. เลือกช่อง Custom Fields
ด้านล่างตัวแก้ไข คุณจะเห็นกล่องฟิลด์กำหนดเองที่เราเพิ่งเปิดใช้งาน
3. คุณสามารถพิมพ์อะไรก็ได้ในทั้งสองช่อง สิ่งที่คุณพิมพ์และเพิ่มลงในช่องชื่อจะถูกบันทึกไว้เพื่อใช้ในภายหลัง ที่นี่ เราแสดงรายการพื้นที่และประเทศที่กาแฟของเรามาจาก
ฟิลด์ที่กำหนดเองทำให้ง่ายต่อการสร้างมาตรฐานข้อมูลที่สำคัญสำหรับหมวดหมู่ในทุกโพสต์ในที่แยกจากกัน ตอนนี้เราแค่ต้องได้รับข้อมูลนั้นเพื่อแสดงในการตรวจสอบของเรา
4. เราจะเพิ่มแท็กโค้ดนี้ในเอกสารธีมของเรา:
<br /><?php the_meta(); ?><br />
หมายเหตุ: ในตัวอย่างนี้ เราจะใส่แท็กนี้ในไฟล์ content.php ของเรา แต่คุณจะต้องค้นหาตำแหน่งที่เหมาะสมสำหรับตารางค่าของคุณ คุณควรจัดรูปแบบแท็กนี้ให้เข้ากับธีมที่เหลือของคุณ ซึ่งคุณสามารถอ่านเพิ่มเติมได้ที่นี่
เมื่อกลับมาตรวจสอบบล็อกของเรา เราจะพบว่าแท็กของเราได้แทรกรายการลงในการตรวจทานของเรา
หรูหรา! ตอนนี้ผู้อ่านและผู้ตรวจสอบของเราต่างก็มีความสุข เราสามารถสร้างประเภทโพสต์ที่กำหนดเองได้ ซึ่งช่วยให้เราบันทึกรีวิวเกี่ยวกับกาแฟได้ และเราสามารถให้พื้นที่แก่ผู้เขียนรีวิวในการจัดเก็บข้อมูลที่สำคัญของพวกเขาสำหรับรีวิวแต่ละครั้ง