WordPress Custom Fields คืออะไร
WordPress Custom Fields เป็นคุณลักษณะพื้นฐานที่อนุญาตให้นักพัฒนาหรือผู้ดูแลเว็บไซต์จัดเก็บข้อมูลเมต้าเพิ่มเติมสำหรับบทความ หน้าหรือประเภทบทความที่กำหนดเองใดๆ โดยพื้นฐานแล้วคือชุดของ "คู่คีย์-ค่า" ที่จัดเก็บอยู่ใน wp_postmeta ตารางฐานข้อมูล
แต่ละ Custom Field ประกอบด้วยค่าเฉพาะที่ไม่ซ้ำกันmeta_keyและหนึ่งที่ตรงกันmeta_valueประกอบขึ้น ตัวอย่างเช่น คุณสามารถเพิ่มฟิลด์ชื่อ product_price ให้กับบทความผลิตภัณฑ์ โดยมีค่าเป็น “99.99” มันให้วิธีการที่มีโครงสร้างในการเพิ่มข้อมูลที่กำหนดเอง เช่น ราคาสินค้า ข้อมูลผู้เขียน วันที่หมดอายุ ตำแหน่งทางภูมิศาสตร์ ฯลฯ โดยไม่ต้องแก้ไขเนื้อหาหลักของบทความ ซึ่งทำลายข้อจำกัดของตัวแก้ไขเริ่มต้นที่จัดการได้เฉพาะหัวข้อและเนื้อหาหลัก และวางรากฐานสำหรับการสร้างโมเดลเนื้อหาที่ซับซ้อนและการขยายฟังก์ชันการทำงาน
ความแข็งแกร่งของฟิลด์ที่กำหนดเองอยู่ที่คุณลักษณะ “การขยายไม่จำกัด” บทความหนึ่งสามารถมีฟิลด์ที่กำหนดเองได้จำนวนเท่าใดก็ได้ และฟิลด์เหล่านี้สามารถถูกเรียกใช้และแสดงผลตามเงื่อนไขในไฟล์เทมเพลตธีมส่วนหน้าหรืออินเทอร์เฟซการจัดการส่วนหลัง มันเป็นเครื่องมือสำคัญสำหรับนักพัฒนาในการเปลี่ยนประเภทเนื้อหาทั่วไปให้เป็นประเภทเนื้อหาเฉพาะ เช่น การเปลี่ยน “บทความ” ทั่วไปให้เป็น “รีวิวภาพยนตร์” หรือ “รายการอสังหาริมทรัพย์” ที่มีพารามิเตอร์
แนะนำให้อ่าน คู่มือเริ่มต้นการพัฒนา WordPress Theme: สร้างเว็บไซต์ของคุณตั้งแต่เริ่มต้น。
วิธีใช้ WordPress Custom Fields
การใช้ Custom Fields เกี่ยวข้องกับสามขั้นตอนหลัก: การเพิ่มฟิลด์ในเนื้อหา การจัดการฟิลด์ในอินเทอร์เฟซหลังบ้าน และการเรียกใช้และแสดงค่าของฟิลด์ในธีม
การเพิ่มและจัดการฟิลด์ในตัวแก้ไข
ในตัวแก้ไข Gutenberg ของ WordPress มีแผงฟิลด์ที่กำหนดเองให้โดยค่าเริ่มต้น ในการเปิดใช้งาน ให้คลิกที่จุดสามจุดที่มุมขวาบนของแถบด้านข้าง “การตั้งค่า” ในแผง “การตั้งค่า” ภายใต้ตัวเลือก “แผง” ให้เลือก “ฟิลด์ที่กำหนดเอง” หลังจากเปิดใช้งานแล้ว แผง “ฟิลด์ที่กำหนดเอง” จะปรากฏที่ด้านล่างหรือด้านข้างของตัวแก้ไข
ที่นี่ คุณสามารถสร้างฟิลด์ใหม่ได้โดยคลิกที่ “เพิ่มฟิลด์ที่กำหนดเองใหม่” ป้อนชื่อฟิลด์ (คีย์) และค่า (ค่า) จากนั้นอัปเดตโพสต์เพื่อบันทึก ตัวอย่างเช่น เพิ่มฟิลด์ read_time ให้กับโพสต์ปัจจุบัน โดยมีค่าเป็น “5” เพื่อแสดงจำนวนนาทีที่ต้องใช้ในการอ่าน สำหรับฟิลด์ที่มีอยู่แล้ว คุณสามารถแก้ไขค่าหรือลบออกได้ในแผงนี้ กระบวนการนี้สะดวกสำหรับการแนบข้อมูลชั่วคราวและเรียบง่าย
เรียกใช้ค่าฟิลด์ในเทมเพลตธีม
หลังจากเพิ่มฟิลด์กำหนดเองในบทความหรือหน้าแล้ว ขั้นตอนต่อไปมักจะเป็นการแสดงข้อมูลนี้ในส่วนหน้าของเว็บไซต์ WordPress มีฟังก์ชันหลัก get_post_meta() เพื่อดึงค่าดังกล่าว
การใช้งานพื้นฐานของฟังก์ชันนี้คือการเรียกใช้ในไฟล์เทมเพลตธีม (เช่น single.php 或 page.php) ไวยากรณ์พื้นฐานของมันคือ:get_post_meta( $post_id, $key, $single );โดยที่ $post_id คือ ID ของบทความปัจจุบัน$key คือชื่อฟิลด์ที่คุณกำหนด$single เป็นค่าบูลีนซึ่งเป็น true เมื่อส่งคืนสตริง false เมื่อส่งคืนอาร์เรย์
แนะนำให้อ่าน เริ่มต้นการพัฒนา WordPress Theme: สร้างธีมที่ปรับแต่งเองเป็นธีมแรกตั้งแต่เริ่มต้น。
<?php
// 在循环中,获取当前文章ID
$post_id = get_the_ID();
// 获取名为 'read_time' 的自定义字段值,并确保返回单个值
$read_time = get_post_meta( $post_id, ‘read_time’, true );
// 如果字段存在且不为空,则显示它
if ( ! empty( $read_time ) ) {
echo ‘预计阅读时间: ’ . esc_html( $read_time ) . ‘ 分钟’;
}
?> เครื่องมือจัดการฟิลด์ที่กำหนดเองอย่างมีประสิทธิภาพ
แม้ว่าอินเทอร์เฟซดั้งเดิมของ WordPress จะสามารถจัดการฟิลด์ที่กำหนดเองได้ แต่สำหรับโครงการที่ซับซ้อน การใช้ปลั๊กอินเฉพาะทางสามารถเพิ่มประสิทธิภาพการพัฒนาและประสบการณ์ผู้ใช้ได้อย่างมาก
ปลั๊กอินฟิลด์ที่กำหนดเองขั้นสูง
Advanced Custom Fields (ACF) เป็นปลั๊กอินมาตรฐานอุตสาหกรรมสำหรับการจัดการและใช้ฟิลด์ที่กำหนดเองใน WordPress มันเปลี่ยนอินเทอร์เฟซฟิลด์ที่กำหนดเองแบบดั้งเดิมที่ต้องป้อนข้อมูลด้วยตนเอง ให้เป็นระบบการจัดการกลุ่มฟิลด์และประเภทฟิลด์ที่ใช้งานง่ายและเป็นมิตรกับผู้ใช้
ด้วย ACF คุณสามารถสร้างกลุ่มฟิลด์ที่มีประเภทฟิลด์ที่หลากหลาย (เช่น ข้อความ รูปภาพ ลิงก์ ช่องเลือก ความสัมพันธ์ แผนที่ เป็นต้น) โดยการลากและวางในแถบหลังบ้าน และเชื่อมโยงกับประเภทโพสต์เฉพาะ หมวดหมู่ หรือแม้แต่หน้าตัวเลือก ตัวอย่างเช่น สร้างกลุ่มฟิลด์สำหรับประเภทโพสต์ “ภาพยนตร์” ที่มีฟิลด์เช่น “ผู้กำกับ”, “นักแสดงนำ”, “โปสเตอร์” และ “วันที่ฉาย” สำหรับนักพัฒนา ACF มีฟังก์ชันที่กระชับกว่าในการดึงค่าฟิลด์ เช่น the_field(‘director’) 或 get_field(‘director’, $post_id)นอกจากนี้ยังรองรับฟีเจอร์ขั้นสูง เช่น ตรรกะเงื่อนไข ฟิลด์ตัวทำซ้ำ ตัวเลือกเค้าโครงที่ยืดหยุ่น ทำให้การวางแผนโครงสร้างเนื้อหาเป็นเรื่องง่ายดาย
ปลั๊กอิน Meta Box เวอร์ชันย่อ
Meta Box เป็นเฟรมเวิร์กปลั๊กอินฟิลด์ที่กำหนดเองที่ทรงพลังอีกตัวหนึ่ง มีชื่อเสียงในด้านน้ำหนักเบา ประสิทธิภาพสูง และเป็นมิตรกับนักพัฒนา มันให้ฟิลด์ประเภทที่หลากหลายและการขยายที่ทรงพลัง และสามารถกำหนดค่าได้ผ่านโค้ดหรืออินเทอร์เฟซผู้ใช้
มีความแตกต่างทางปรัชญาเล็กน้อยจาก ACFMeta Box ในขณะที่ให้บริการนักพัฒนา ก็ยังคำนึงถึงความยืดหยุ่นด้วย มันอนุญาตให้นักพัฒนากำหนดฟิลด์และกลุ่มฟิลด์ที่ซับซ้อนได้อย่างรวดเร็วผ่านการเขียนอาร์เรย์ PHP ซึ่งวิธีนี้เหมาะสมกับการจัดการผ่านระบบควบคุมเวอร์ชัน (เช่น Git) มากกว่า มันยังให้อินเทอร์เฟซส่วนหน้าที่ใช้งานง่าย ทำให้ผู้ดูแลระบบที่ไม่ใช่ผู้พัฒนาสามารถจัดการเนื้อหาได้อย่างง่ายดาย สำหรับการสร้างเว็บไซต์ประสิทธิภาพสูงMeta Box ได้รับความนิยมเนื่องจากโครงสร้างโค้ดที่กระชับ
การประยุกต์ใช้ขั้นสูงของฟิลด์ที่กำหนดเอง
หลังจากเชี่ยวชาญพื้นฐานและเครื่องมือจัดการแล้ว ฟิลด์ที่กำหนดเองสามารถปลดล็อกสถานการณ์การใช้งานขั้นสูงมากมาย ทำให้การทำงานของเว็บไซต์ลึกซึ้งยิ่งขึ้น
แนะนำให้อ่าน การเข้าใจอย่างถ่องแท้เกี่ยวกับ WordPress ประเภทบทความที่กำหนดเอง: ตั้งแต่การสร้างไปจนถึงการประยุกต์ใช้ขั้นสูงในทางปฏิบัติ。
การสร้างเนื้อหาที่เชื่อมโยงและการสอบถามความสัมพันธ์
ฟิลด์ที่กำหนดเองสามารถใช้เพื่อสร้างความสัมพันธ์ระหว่างบทความกับบทความ หรือบทความกับผู้ใช้งาน ตัวอย่างเช่น การใช้ฟิลด์ “ความสัมพันธ์” หรือฟิลด์ “วัตถุบทความ” ของ ACF ทำให้สามารถเลือกหน้าโปรไฟล์ “สมาชิก” หลายรายการที่เกี่ยวข้องในหน้า “ทีม” ได้
เมื่อแสดงผลที่ส่วนหน้า คุณสามารถใช้ get_field() เพื่อรับ ID บทความที่เกี่ยวข้องเหล่านี้ จากนั้นใช้ WP_Query เพื่อสืบค้นซ้ำและวนลูปแสดงผลหัวเรื่อง บทสรุป และลิงก์ของบทความที่เกี่ยวข้อง รูปแบบนี้มีประสิทธิภาพมากสำหรับการสร้างผลงาน การแนะนำบทความที่เกี่ยวข้อง หรือการแสดงผลิตภัณฑ์ทั้งหมดภายใต้หมวดหมู่ผลิตภัณฑ์
<?php
// 获取当前文章中的‘related_posts’自定义字段(存储的是文章ID数组)
$related_posts = get_field( ‘related_posts’ );
if ( $related_posts ) {
echo ‘<h3>相关文章</h3><ul>’;
// 使用 WP_Query 查询这些相关文章
$args = array(
‘post__in’ => $related_posts,
‘post_type’ => ‘post’,
);
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo ‘<li><a href="/th/“‘/"></a></li>’;
}
wp_reset_postdata();
echo ‘</ul>’;
}
?> สร้างแผงตัวเลือกที่กำหนดเอง
ฟิลด์ที่กำหนดเองไม่เพียงแต่สามารถแนบไปกับโพสต์ได้เท่านั้น ด้วยปลั๊กอิน ACF PRO หรือฟังก์ชัน Meta Box คุณสามารถสร้างแผง “ตัวเลือกธีม” แบบทั่วทั้งเว็บไซต์ได้ ตัวอย่างเช่น สร้างหน้าตัวเลือกโดยใช้ฟิลด์ที่กำหนดเองเพื่อกำหนดข้อมูลลิขสิทธิ์ส่วนท้ายของเว็บไซต์ ลิงก์โซเชียลมีเดีย ข้อความและรูปภาพแบนเนอร์หน้าแรก เป็นต้น
ค่าที่เก็บไว้ในหน้าตัวเลือกสามารถใช้ได้ทุกที่ในธีม get_field() ฟังก์ชันถูกเรียกใช้ แต่จำเป็นต้องตั้งค่า $post_id พารามิเตอร์เป็น ‘option’ ตัวอย่างเช่น$footer_text = get_field(‘footer_copyright’, ‘option’);สิ่งนี้ทำให้เนื้อหาและการกำหนดค่าถูกแยกออกจากกัน ซึ่งช่วยเพิ่มความยืดหยุ่นและความสามารถในการบำรุงรักษาของเว็บไซต์ได้อย่างมาก
ปรับปรุงการสืบค้นข้อมูลและประสิทธิภาพ
การใช้งานฟิลด์ที่กำหนดเองมากเกินไปอาจทำให้ภาระการสืบค้นฐานข้อมูลเพิ่มขึ้น โดยเฉพาะเมื่อใช้ meta_query สำหรับการสืบค้นที่ซับซ้อน ตัวอย่างเช่น การสืบค้นผลิตภัณฑ์ทั้งหมดที่มี “ราคา” มากกว่า 100 และ “สถานะสินค้าคงคลัง” เป็น “มีสินค้า”
เพื่อเพิ่มประสิทธิภาพ ควรตรวจสอบให้แน่ใจว่าฟิลด์ที่กำหนดเองมีชื่อคีย์ที่ชัดเจน และใช้ดัชนีเมื่อเป็นไปได้ สำหรับเว็บไซต์ที่ต้องการการกรองและการเรียงลำดับที่ซับซ้อน ควรพิจารณาเก็บข้อมูลเมต้าที่สำคัญสำหรับการสืบค้น (เช่น ราคา วันที่) ไว้ในบทความเองหรือในตารางฐานข้อมูลที่กำหนดเองเฉพาะทาง หรือใช้ Transients API ที่แคชไว้เพื่อเก็บผลลัพธ์การสืบค้น
สรุป
WordPress ฟิลด์ที่กำหนดเองเป็นเครื่องยนต์หลักที่ขับเคลื่อนเนื้อหาเว็บไซต์จากรูปแบบเดียวไปสู่ความเป็นไปได้ที่กำหนดเองได้ไม่จำกัด ตั้งแต่การจัดเก็บคู่คีย์-ค่าแบบพื้นฐานไปจนถึงการใช้ ACF,Meta Box ใช้เครื่องมือต่าง ๆ ในการจัดการเนื้อหาให้เป็นภาพและมีโครงสร้างอย่างเป็นระบบ ความสามารถในการกำหนดฟิลด์เองช่วยเพิ่มประสิทธิภาพในการควบคุมเนื้อหาได้อย่างมาก การใช้งานจริงมีขอบเขตกว้างขวาง ไม่ว่าจะเป็นการสร้างข้อมูลเพิ่มเติมแบบง่าย ๆ การสร้างความสัมพันธ์ของเนื้อหาที่ซับซ้อน หรือการสร้างตัวเลือกการตั้งค่าทั่วทั้งเว็บไซต์ ล้วนต้องพึ่งพามันทั้งสิ้น การเข้าใจอย่างลึกซึ้งและใช้ฟิลด์กำหนดเองได้อย่างคล่องแคล่ว เป็นบทเรียนบังคับสำหรับนักพัฒนาและผู้สร้างเว็บไซต์ทุกคนที่หวังจะก้าวข้ามขีดจำกัดของการสร้างเว็บไซต์ด้วย WordPress
คำถามที่พบบ่อย (FAQ)
ฟิลด์ที่กำหนดเองจะส่งผลต่อความเร็วของเว็บไซต์หรือไม่?
การใช้ฟิลด์ที่กำหนดเองอย่างเหมาะสมมีผลกระทบต่อความเร็วน้อยมาก แต่หากใช้มากเกินไป โดยเฉพาะอย่างยิ่งเมื่อเกี่ยวข้องกับการสืบค้นฐานข้อมูลที่ซับซ้อน meta_query ซึ่งมีฟิลด์ที่กำหนดเองหลายฟิลด์ และฟิลด์ไม่ได้ถูกจัดทำดัชนีอย่างเหมาะสม อาจทำให้เว็บไซต์ช้าลงได้ วิธีปฏิบัติที่ดีที่สุดคือสร้างฟิลด์เฉพาะที่จำเป็น และใช้ปลั๊กอินแคชเพื่อเพิ่มประสิทธิภาพการสืบค้น
ปลั๊กอินฟิลด์ที่กำหนดเองขั้นสูงจำเป็นหรือไม่?
สำหรับผู้เริ่มต้นหรือผู้ใช้ที่ต้องการเพิ่มฟิลด์ง่ายๆ เพียงหนึ่งหรือสองฟิลด์ ฟังก์ชันฟิลด์ที่กำหนดเองดั้งเดิมอาจเพียงพอ แต่สำหรับโครงการสร้างเว็บไซต์ส่วนใหญ่ที่จริงจัง การใช้ปลั๊กอินเช่น ACF หรือ Meta Box นั้นเกือบจะจำเป็น พวกมันสามารถปรับปรุงประสบการณ์ผู้ใช้ในส่วนหลังบ้านได้อย่างมาก ให้ฟิลด์ประเภทที่หลากหลาย และลดข้อผิดพลาดของโค้ด ซึ่งช่วยประหยัดเวลาในการพัฒนาอย่างมากในระยะยาว
จะใช้ฟิลด์ที่กำหนดเองสำหรับประเภทโพสต์ที่กำหนดเองได้อย่างไร?
ฟิลด์ที่กำหนดเองและประเภทบทความที่กำหนดเองเป็น “คู่หูที่ดีที่สุด” หลังจากที่คุณลงทะเบียนประเภทบทความที่กำหนดเองสำหรับประเภทเนื้อหาเฉพาะ (เช่น “ผลิตภัณฑ์” “ภาพยนตร์”) แล้ว คุณสามารถใช้ปลั๊กอินเช่น ACF เพื่อสร้างกลุ่มฟิลด์เฉพาะและตั้งค่ากฎตำแหน่งให้แสดงเฉพาะในประเภทบทความที่กำหนดเองนั้น เมื่อใดก็ตามที่คุณสร้างบทความใหม่ประเภทนั้น คุณจะเห็นอินเทอร์เฟซการป้อนค่าฟิลด์ที่กำหนดเองที่เกี่ยวข้อง
วิธีการค้นหาค่าฟิลด์ที่กำหนดเองในส่วนหน้าเว็บ?
การค้นหาพื้นฐานของ WordPress โดยค่าเริ่มต้นจะไม่ค้นหาค่าฟิลด์ที่กำหนดเอง หากต้องการใช้งานนี้ คุณต้องปรับเปลี่ยนคำสั่งค้นหา สามารถใช้ posts_search 或 posts_join 和 posts_where ฟังก์ชันฮุคเพื่อขยายขอบเขตการค้นหา SQL ให้รวม wp_postmeta ตาราง. แต่โปรดทราบว่าสิ่งนี้อาจเพิ่มความซับซ้อนและเวลาในการสืบค้นฐานข้อมูล จำเป็นต้องทดสอบประสิทธิภาพอย่างรอบคอบ
ขั้นต่อไป ฉันควรทำอย่างไรต่อไป
อ่านเพิ่มเติมและรับความรู้ที่มีประโยชน์
下面这些内容与本文主题相关,适合继续深入阅读。优先从与你当前问题最接近的文章开始看,再逐步扩展到周边主题,效果通常会更好。
- คู่มือเริ่มต้นใช้งาน WooCommerce ฉบับสมบูรณ์: สร้างร้านค้าออนไลน์ของคุณตั้งแต่เริ่มต้น
- คู่มือขั้นสูงสุดในการสร้างเว็บไซต์: ขั้นตอนและเทคโนโลยีหลักตั้งแต่การวางแผนจนถึงการเปิดตัว
- ทำไมต้องเลือก WooCommerce ในการสร้างร้านค้าออนไลน์ของคุณ
- 7 ปลั๊กอิน WordPress ที่แนะนำเพื่อเพิ่มประสิทธิภาพเว็บไซต์ WordPress
- คู่มือขั้นสูงสุดในการสร้างเว็บไซต์ด้วย WordPress: สร้างจากศูนย์จนเชี่ยวชาญ เพื่อสร้างเว็บไซต์มืออาชีพ