วิธีการใช้ประเภทโพสต์ที่กำหนดเองและฟิลด์ที่กำหนดเองใน 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 ของเรา แต่คุณจะต้องค้นหาตำแหน่งที่เหมาะสมสำหรับตารางค่าของคุณ คุณควรจัดรูปแบบแท็กนี้ให้เข้ากับธีมที่เหลือของคุณ ซึ่งคุณสามารถอ่านเพิ่มเติมได้ที่นี่
เมื่อกลับมาตรวจสอบบล็อกของเรา เราจะพบว่าแท็กของเราได้แทรกรายการลงในการตรวจทานของเรา

หรูหรา! ตอนนี้ผู้อ่านและผู้ตรวจสอบของเราต่างก็มีความสุข เราสามารถสร้างประเภทโพสต์ที่กำหนดเองได้ ซึ่งช่วยให้เราบันทึกรีวิวเกี่ยวกับกาแฟได้ และเราสามารถให้พื้นที่แก่ผู้เขียนรีวิวในการจัดเก็บข้อมูลที่สำคัญของพวกเขาสำหรับรีวิวแต่ละครั้ง
