วิธีทำงานกับข้อมูลเมตาของผู้ใช้ WordPress

เผยแพร่แล้ว: 2021-11-26

ทำงานกับข้อมูลเมตาของผู้ใช้ WordPress

มันเป็นหนึ่งใน API ที่ดีที่สุดที่ WordPress เสนอคือ Metadata API ของผู้ใช้ WordPress เนื่องจาก API นี้ เราได้รับแนวคิดเกี่ยวกับโพสต์ ความคิดเห็น ผู้ใช้ ข้อกำหนด และอื่นๆ อีกมากมายที่เก็บข้อมูลเกี่ยวกับชุดข้อมูลมาตรฐาน

1. ข้อมูลเมตาของ WordPress :
ข้อมูลเมตาได้รับการดูแลด้วยชุดคีย์/ค่า คีย์คือชื่อของคอมโพเนนต์ข้อมูลเมตา ค่าคือข้อมูลที่จะแสดงในรายการข้อมูลเมตาในทุกโพสต์ที่เกี่ยวข้องกับข้อมูล

ขณะที่เราทำงานกับ API ข้อมูลเมตาของผู้ใช้ WordPress ต่างๆ กันต่อไป คุณจะพบว่าคำจำกัดความนี้ยังคงไม่เปลี่ยนแปลงไม่ว่า API ใดจะถูกตรวจสอบ

2. การทำงานกับ User Metadata API :
ข้อมูลเมตาของผู้ใช้ WordPress จะถูกจัดเก็บไว้ในตารางฐานข้อมูล wp_usermeta ซึ่งจริงๆ แล้วมีข้อมูลบางส่วนที่จัดเก็บอยู่ใน API ข้อมูลเมตาของผู้ใช้แล้ว สิ่งนี้เกิดขึ้นเนื่องจากข้อมูลบางส่วนที่จัดเก็บไว้ในหน้าจอโปรไฟล์ผู้ใช้

ไม่ว่าในกรณีใด API จะช่วยให้เราสามารถเขียนข้อมูลของเราเองลงในตารางได้ ดังนั้นด้วยสถานะส่วนใหญ่นั้น เราควรตรวจสอบวิธีการทำงานด้วยความสามารถที่ WordPress มอบให้

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

3. การเพิ่มเมตาผู้ใช้:
เพิ่มข้อมูลเมตาในบันทึกของผู้ใช้สำหรับสิ่งนี้ คุณสามารถทำงาน add_user_meta สิ่งนี้มีประโยชน์ หากคุณพยายามใช้ปลั๊กอินหรือเว็บแอปพลิเคชันที่ใช้ WordPress และคุณหวังที่จะขยายขอบเขตสิ่งที่บุคคลสามารถเชื่อมต่อกับโปรไฟล์ของพวกเขาได้ นี่คือแนวทางหนึ่งที่ต้องทำ .

อาจเป็นสิ่งพื้นฐานพอๆ กับการให้โปรไฟล์ของลูกค้าในองค์กรที่มีความสัมพันธ์ระหว่างบุคคล หรืออาจเป็นสิ่งที่พัฒนาเพิ่มเติม ซึ่งคุณอาจเชื่อมต่อไคลเอ็นต์กับข้อมูลที่อยู่ในตารางอื่น ข้อมูลที่หลากหลาย หรืออย่างอื่นที่แตกต่างกัน

อย่างไรก็ตาม งานของ API นั้นยอมรับพารามิเตอร์ตัวที่สี่ตามที่เห็นสมควร ไม่ว่าค่าที่ฝังไว้ควรจะโดดเด่นหรือไม่ก็ตาม

4. ค่าที่ไม่ซ้ำ :
ที่นี่เราจะเห็นในส่วนของการเข้ารหัสเพื่อเพิ่มข้อมูลเมตาของผู้ใช้

add_filter('the_content', 'add_user_meta');
/**
* กำหนดว่าโพสต์ปัจจุบันเป็นโพสต์ 'Hello Wordl' เริ่มต้นหรือไม่ และถ้าใช่
* เพิ่มข้อมูลเมตาของผู้ใช้ที่ไม่ซ้ำกับฐานข้อมูล
*
* @param string $content เนื้อหาโพสต์
* @return string $content เนื้อหาที่โพสต์
*/
ฟังก์ชั่น add_user_meta (เนื้อหา $) {
ถ้า (1===get_the_ID()){
add_user_meta (1, 'twitter_account', 'https://twitter.com/username');
}
ส่งคืนเนื้อหา $;
}

เราขอเข้า the_content
เราตรวจสอบเพื่อดูว่าเราอยู่ในโพสต์ Hello World หรือไม่
ถ้าใช่กว่าที่เราเพิ่มข้อมูลเมตาของผู้ใช้
เราส่งคืนเนื้อหา $ ไปที่ WordPress

ด้วยการตั้งค่ารหัสนี้และโพสต์ Hello World ที่ซ้อนกันในโปรแกรมของคุณ ให้ชุบชีวิตหน้าสองสามครั้ง

ค่าที่ไม่ซ้ำกัน
เมื่อเรารู้เกี่ยวกับค่าที่ไม่ซ้ำ ในฟังก์ชันแรก ในฟังก์ชันที่สอง เราจะเห็นค่าที่ไม่ซ้ำ

add_filter('the_content', 'unique_add_user_meta');
/**
* กำหนดว่าโพสต์ปัจจุบันเป็นโพสต์ 'Hello Wordl' เริ่มต้นหรือไม่ และถ้าใช่
* เพิ่มข้อมูลเมตาของผู้ใช้ที่ไม่ซ้ำกันไปยังฐานข้อมูล
*
* @param string $content เนื้อหาโพสต์
* @return string $content เนื้อหาที่โพสต์
*/
ฟังก์ชั่น unique_add_user_meta ($ เนื้อหา) {
ถ้า (1===get_the_ID()){
add_user_meta (1, 'twitter_account', 'https://twitter.com/username', จริง);
}
ส่งคืนเนื้อหา $;
}

เริ่มแรก ให้สิ่งจูงใจที่น่าสนใจแก่ค่าเมตาในการเรียกใช้ฟังก์ชัน รีเฟรชหน้าสองสามครั้ง และหลังจากนั้นให้ดูที่ฐานข้อมูล

5. การอัปเดต Meta ของผู้ใช้ :
อัปเดตฟิลด์เมตาผู้ใช้ขึ้นอยู่กับ ID ผู้ใช้ ใช้พารามิเตอร์ $prev_value เพื่อแยกระหว่างฟิลด์เมตาที่มีคีย์และ ID ผู้ใช้ที่คล้ายกัน ในกรณีที่ไม่มีฟิลด์เมตาสำหรับผู้ใช้ ฟิลด์นี้จะถูกรวมไว้
เมื่อทำงานกับความสามารถนี้ จะพิจารณาสิ่งนี้ในสองสถานการณ์:

เมื่อมีการรวมข้อมูลเมตาก่อนหน้านี้โดยใช้งาน add_user_meta และมีบันทึกต่างๆ ที่มีข้อมูลคล้ายกัน

เมื่อไม่มีการรวมข้อมูลเมตาและเรากำลังรวมบันทึกอื่นและต้องการให้ไม่ซ้ำกัน
ในกรณีหลัก มันให้ $prev_value เนื่องจากคุณเปิดเผยต่อ WordPress ว่าสิ่งจูงใจใดในการกำหนดเป้าหมายและอัปเดต

เช่นเดียวกับการเพิ่มและอัปเดต คุณสามารถใช้ฟังก์ชันลบและรับเพื่อรับ ข้อมูลเมตาของผู้ใช้ WordPress

6. ไวยากรณ์:

ลบ#
ลบเกณฑ์การประสานงานข้อมูลเมตาจากลูกค้า คุณสามารถประสานงานโดยขึ้นอยู่กับคีย์หรือคีย์และค่า การลบขึ้นอยู่กับคีย์และค่า จะป้องกันไม่ให้คัดลอกข้อมูลเมตาของสำเนาด้วยคีย์ที่คล้ายกัน นอกจากนี้ยังอนุญาตให้ขับไล่คีย์การประสานงานข้อมูลเมตาทั้งหมด หากจำเป็น

Detete_user_meta(
int $user_id,
สตริง $meta_key,
ผสม $meta_value="
);

7. ดึงเมตาผู้ใช้:

สำหรับการกู้คืนข้อมูลเมตาของผู้ใช้นั้น เรามี get_user_meta ที่ทำงานอยู่ ตอนนี้ ควรจะเห็นได้ชัดว่าพารามิเตอร์ปกติจะเป็น ID ผู้ใช้และเมตาคีย์

โปรดทราบว่าเมื่อเราดึงข้อมูล เราแค่ต้องการ ID ผู้ใช้และเมตาคีย์ เนื่องจากเป็นข้อมูลที่แตกต่างสำหรับค่าใดค่าหนึ่ง

รับ#
get_user_meta(
int $user_id,
สตริง $key ="
b001 $single=false
);

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

ด้วยข้อตกลงนี้ เรากำลังพยายามสร้างกรอบงานสำหรับนักพัฒนา WordPress ในอนาคตเพื่อทำงานเมื่อพวกเขาดำเนินการต่อไปและจัดการกับคำตอบสำหรับเจ้านาย ลูกค้า หรือสำหรับงานของพวกเขาเอง

ดังนั้น ฉันคาดหวังที่จะดำเนินการกับข้อตกลงนี้ จำไว้ว่าในกรณีที่คุณเพิ่งเริ่มต้น คุณสามารถดูการจัดเตรียมของฉันเกี่ยวกับวิธีการที่เชี่ยวชาญที่สุด เริ่มต้นด้วย WordPress ซึ่งเน้นที่หัวข้อต่างๆ อย่างชัดเจนสำหรับ WordPress Tenderfoots กรุณาอย่ารอช้าที่จะทิ้งคำถามหรือข้อสังเกตใด ๆ ไว้ในส่วนข้อเสนอแนะหรือความคิดเห็น

บล็อกนี้จะช่วยให้คุณทราบถึงการทำงานและวิธีการทำงานกับ ข้อมูลเมตาของผู้ใช้ WordPress