คำถามติดแท็ก post-meta

โพสต์เมตาเป็นชุดข้อมูลที่มีแกนเพิ่มเติมเช่นเดียวกับข้อมูลโพสต์ที่กำหนดเอง

11
ฉันจะดึงกระสุนของหน้าปัจจุบันได้อย่างไร
ฉันพยายามดึงกระสุนของหน้า WordPress ปัจจุบันนอกลูป หัวเรื่องของหน้าจะส่งคืนด้วยwp_title ()แต่ฉันจะรับกระสุนได้อย่างไร <li> <a href="/slug-of-current-page/"> <?php wp_title('', true); ?> </a> </li>
99 post-meta  slug 

2
ค้นหาโพสต์ทั้งหมดที่ไม่มีเมตาคีย์
ฉันพยายามรับคิวรีเพื่อดึงโพสต์ทั้งหมดที่meta_keyไม่มีอยู่และสร้างมันขึ้นมา ฉันมีปัญหาในการค้นหาโพสต์เหล่านั้นเนื่องจากแบบสอบถามที่ฉันทดสอบไม่ทำงาน นี่คือรหัสที่ฉันใช้เพื่อพยายามรับโพสต์เหล่านั้น: $args = array( 'posts_per_page' => 18, 'cat'=>1955, 'post_status'=>'publish', 'meta_query' => array( array( 'key' => 'colors', 'compare' => 'NOT EXISTS' ), )); query_posts($args); สิ่งนี้จะส่งคืนอะไรหากไม่มีโพสต์ที่มีคีย์colorsแต่ส่งคืนidsโพสต์ด้วยคีย์colorsเมื่อใดก็ตามที่มีคีย์นั้น (ตรงข้ามกับที่ฉันต้องการ) ฉันลองEXISTแทน แต่ไม่มีโชค หากใครบางคนสามารถให้คำแนะนำฉันเกี่ยวกับวิธีการสร้างแบบสอบถามอย่างถูกต้องเช่นเดียวกับที่ฉันต้องการฉันจะขอบคุณมัน ขอบคุณ!

7
ฉันจะแสดงโพสต์ได้อย่างไรถ้า meta_value ไม่ว่างเปล่า
มีสามคนที่พยายามแก้ไขปัญหานี้แล้วและเรากำลังจะมาถึง ฉันต้องการแสดงเฉพาะโพสต์ที่มีค่าใน meta_key 'featured_image' ดังนั้น ... หาก 'featured_image' ไม่ว่างแสดงโพสต์ นี่คือรหัส: <ul> <?php $args = array( 'showposts' => 5, 'meta_query' => array( array( 'key' => 'featured_image', 'value' => '', 'compare' => '!=' ) ) ); $ft_pagination = new WP_Query( $args ); ?> <?php while ($ft_pagination->have_posts()) : $ft_pagination->the_post(); ?> <?php $ftimage = …

7
วิธีที่มีประสิทธิภาพที่สุดในการรับโพสต์ด้วย postmeta
ฉันต้องได้รับข้อความมากมายจากเมตาดาต้า แน่นอนว่าคุณไม่สามารถรับเมทาดาทาที่มีแบบสอบถามโพสต์มาตรฐานดังนั้นโดยทั่วไปคุณต้องทำget_post_custom()สำหรับแต่ละโพสต์ ฉันกำลังลองด้วยข้อความค้นหาที่กำหนดเองหนึ่งรายการเช่นนี้: $results = $wpdb->get_results(" SELECT p.ID, p.post_title, pm1.meta_value AS first_field, pm2.meta_value AS second_field, pm3.meta_value AS third_field FROM $wpdb->posts p LEFT JOIN $wpdb->postmeta pm1 ON ( pm1.post_id = p.ID AND pm1.meta_key = 'first_field_key' ) LEFT JOIN $wpdb->postmeta pm2 ON ( pm2.post_id = p.ID AND pm2.meta_key = 'second_field_key' ) LEFT …
35 post-meta  sql 

4
เป็นวิธีที่ถูกต้องในการเปรียบเทียบวันที่ใน WP query_posts meta_query
ฉันมีการสืบค้น query_posts ในเทมเพลต WP ด้วยการใช้ปลั๊กอิน More Fields ฉันสามารถให้ความสามารถแก่ผู้ดูแลไซต์ในการสร้างกิจกรรม (ประเภทโพสต์ที่กำหนดเอง) จากนั้นป้อนวันที่ซึ่งจัดรูปแบบแล้ว: YYYY / mm / dd คำถามหลักคือ; ฉันควรส่งผ่านค่าใดไปยังตัวเลือกค่าในอาร์เรย์ meta_query ขณะนี้ฉันกำลังพยายามผ่าน "วันที่ (" Y / m / dh: ฉัน A ")" (ลบเครื่องหมายคำพูด) เนื่องจากฉันเข้าใจแล้วว่าจะพิมพ์วันที่ปัจจุบันวันนี้ ฉันไม่สนใจเกี่ยวกับช่วงเวลาที่จะไม่เกี่ยวข้อง Ulitimatly ฉันพยายามใช้ตัวเลือกการเปรียบเทียบเพื่อแสดงเหตุการณ์ที่กำลังจะเกิดขึ้นเหตุการณ์ที่ผ่านมาในสถานที่ต่าง ๆ ในเว็บไซต์นี้ ในอีกจุดหนึ่งที่จริงฉันต้องผ่านตัวเลือกค่าอาร์เรย์ที่พิมพ์ว่าวันแรกและวันสุดท้ายของเดือนปัจจุบัน จำกัด การส่งออกไปยังเหตุการณ์ที่เกิดขึ้นในเดือนนี้ <?php query_posts( array( 'post_type' => 'event', // only query events 'meta_key' …

8
ลิงก์ถัดไป / ก่อนหน้าโพสต์สามารถสั่งซื้อได้ตามลำดับเมนูหรือโดยเมตาคีย์
ฉันมีชุดบทความที่เรียงตามค่า meta_key พวกเขายังสามารถจัดเรียงตามเมนูถ้าจำเป็น ลิงก์โพสต์ถัดไป / ก่อนหน้า (สร้างโดยnext_post_link, previous_post_linkหรือposts_nav_linkทั้งหมดนำทางตามลำดับเหตุการณ์ในขณะที่ฉันเข้าใจพฤติกรรมเริ่มต้นนี้ฉันไม่เข้าใจวิธีการเปลี่ยนแปลงฉันพบว่ามันแมปผ่านไปยัง จากนั้นจะเริ่มดูเหมือนรหัสยากพอสมควรแนะนำให้เขียนใหม่ตั้งแต่ต้นเพื่อแทนที่หรือมีทางออกที่ดีกว่า

4
ฟอร์มการค้นหาขั้นสูงพร้อมตัวกรองสำหรับ taxonomies ที่กำหนดเองและฟิลด์ที่กำหนดเอง
ฉันต้องการสร้างฟอร์มการค้นหาขั้นสูงสำหรับประเภทโพสต์ที่กำหนดเองโดยเฉพาะมีตัวกรองสำหรับฟิลด์โพสต์ที่กำหนดเองประเภทกำหนดเอง taxonomies ที่กำหนดเองและสำหรับคุณสมบัติประเภทโพสต์ที่กำหนดเองแยกต่างหาก (เขตข้อมูลและ taxonomies) ประเภทโพสต์โดยใช้ฟิลด์ความสัมพันธ์ที่กำหนดเอง ฉันเพิ่งเริ่มต้นด้วยประเภทโพสต์ที่กำหนดเอง WPs, เขตข้อมูลและ taxonomies ฉันรักมันจนถึงตอนนี้ แต่เพื่อให้ดีที่สุดของมันฉันต้องการที่จะสามารถค้นหาได้อย่างถูกต้อง ฉันต้องทำด้วยตนเองหรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร PS ถ้ามันเป็นเรื่องสำคัญผมใช้ปลั๊กอิน: ฟิลด์ที่กำหนดเองขั้นสูงและกำหนดเองโพสต์ประเภท UI ด้านล่างฉันล้อเลียนตัวอย่างของลักษณะการกรองและลักษณะที่อาจเกี่ยวข้องกับประเภทโพสต์ด้านบน

2
จะขอ update_post_meta และ delete_post_meta ได้อย่างไร?
ฉันยังคงดิ้นรนที่จะทำให้หัวของฉันเกี่ยวกับเรื่องนี้ดังนั้นฉันจึงติดอยู่กับการพยายามทำงานต่อไปนี้: หากupdate_post_metaถูกไล่ออกจากนั้นตรวจสอบเพื่อดูว่าmeta_keyมีค่าเท่ากับบางสิ่งหรือไม่ (ฉันต้องการทริกเกอร์โค้ดบางส่วนหากใช้เมตา_keyที่เจาะจง) หากคีย์เมตาที่ฉันกำลังค้นหาอยู่ให้รันโค้ดบางอย่างที่จะต้องรู้ว่า$post->IDเมตาคีย์นั้นกำลังได้รับการอัปเดต ฉันจำเป็นต้องขอdelete_post_metaย้อนกลับด้วยเช่นกัน ทุกคนสามารถให้ฉันกับโค้ดตัวอย่างบางอย่างสำหรับ hooking เข้าupdate_post_metaและdelete_post_meta?
29 hooks  post-meta 

5
โพสต์ meta vs ตารางฐานข้อมูลแยกต่างหาก
เมื่อพัฒนาปลั๊กอินที่ต้องใช้ที่เก็บข้อมูลข้อดีและข้อเสียของการใช้วิธีการหนึ่งหรืออย่างอื่นคืออะไร คำอธิบายที่ได้รับใน Codexไม่ได้รายละเอียด: อย่างไรก็ตามก่อนที่จะกระโดดเข้ามาพร้อมกับตารางใหม่ทั้งหมดให้พิจารณาว่าการจัดเก็บข้อมูลปลั๊กอินของคุณใน WordPress 'Post Meta (หรือฟิลด์ที่กำหนดเอง) จะทำงานได้หรือไม่ Post Meta เป็นวิธีการที่ต้องการ ใช้เมื่อเป็นไปได้ / ในทางปฏิบัติ


4
WP แทรกฟังก์ชั่นโพสต์ PHP และฟิลด์ที่กำหนดเอง
ฟังก์ชั่น WordPress ใช้สำหรับส่งข้อมูลแบบเป็นโปรแกรม ฟิลด์มาตรฐานที่จะส่งเพื่อให้มีเนื้อหาข้อความที่ตัดตอนมาชื่อวันที่และอื่น ๆ อีกมากมาย สิ่งที่ไม่มีเอกสารประกอบสำหรับวิธีการส่งไปยังฟิลด์ที่กำหนดเอง ฉันรู้ว่ามันเป็นไปได้ด้วยadd_post_meta($post_id, $meta_key, $meta_value, $unique);ฟังก์ชั่น แต่จะรวมสิ่งนั้นไว้ในwp_insert_postฟังก์ชั่นมาตรฐานได้อย่างไร? <?php $my_post = array( 'post_title' => $_SESSION['booking-form-title'], 'post_date' => $_SESSION['cal_startdate'], 'post_content' => 'This is my post.', 'post_status' => 'publish', 'post_type' => 'booking', ); wp_insert_post( $my_post ); ?>

3
ฉันสามารถยกเว้นการโพสต์ด้วยเมตาคีย์โดยใช้ฟังก์ชัน pre_get_posts ได้หรือไม่
ผมเห็นหลายคนชอบที่จะใช้เบ็ดแทนpre_get_posts query_postsรหัสด้านล่างใช้งานได้และแสดงการโพสต์ทั้งหมดที่มีเมตาคีย์ "เด่น" function show_featured_posts ( $query ) { if ( $query->is_main_query() ) { $query->set( 'meta_key', 'featured' ); $query->set( 'meta_value', 'yes' ); } } add_action( 'pre_get_posts', 'show_featured_posts' ); แต่ฉันต้องการให้โพสต์ที่มีfeaturedmeta_key '' ถูกแยกออกจากข้อความค้นหาหลัก มีวิธีที่ง่ายสำหรับสิ่งนี้หรือไม่?

2
คำอธิบายของ update_post_ (meta / term) _cache
ฉันได้อ่านแนวทางปฏิบัติที่ดีที่สุดตั้งแต่ 10up ขึ้นไปและพวกเขากล่าวถึงการตั้งค่าสถานะทั้งสองนี้เป็นเท็จใน WP_Query (ขึ้นอยู่กับสิ่งที่คุณกำลังสอบถาม): 'update_post_meta_cache' => false: มีประโยชน์เมื่อโพสต์เมตาจะไม่ถูกใช้ 'update_post_term_cache' => false: มีประโยชน์เมื่อไม่มีการใช้ข้อกำหนดเรื่องอนุกรมวิธาน ฉันสมมติว่ามันใช้ประโยชน์บางอย่างupdate_post_caches()แต่ฉันไม่แน่ใจ 100% ว่ามันหมายความว่าอย่างไร ใครช่วยอธิบายความหมายของธงทั้งสองนี้ในWP_Queryและมีประโยชน์อย่างไร ข้อมูลที่มากขึ้นดีกว่าเพราะฉันไม่รู้มากเกี่ยวกับว่า WordPress เก็บสิ่งต่าง ๆ อย่างไร

1
วิธีการดึงข้อมูลจากโพสต์ลำดับอาเรย์อนุกรม?
ฉันพบสคริปต์ถอดรหัส XML เป็น WP ที่เก็บข้อมูลเป็นอาร์เรย์ในเขตข้อมูลเมตาแบบกำหนดเอง วิธีที่ดีที่สุดในการดึงข้อมูลคืออะไร? ตัวอย่างเช่นฉันจะแสดงฟิลด์ "ผลิตใน" เป็น "แคนาดา" ได้อย่างไร [_ttn_i_details] => Array ( [0] => a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}} ) print_r(get_post_custom($post->ID));รหัสตัวอย่างข้างต้นถูกผลิตผ่าน ฉันซาบซึ้งในความเข้าใจใด ๆ ไม่ว่าจะเล็กเพียงใด :)
23 post-meta  array 

4
wp_query ส่งคืนเมตาโพสต์ในคำขอเดียวได้หรือไม่
ฉันต้องการสร้าง wp_query ที่จะส่งคืนเมตาโพสต์ภายในpostsอาเรย์ $args = array ( 'post_type' => 'page', 'meta_key' => 'someMetaKeyName', ); // The Query $query = new WP_Query( $args ); ส่งคืนสิ่งที่ต้องการ: ในขณะที่คุณเห็นโพสต์ไม่มีข้อมูลเมตาใด ๆ เป็นไปได้หรือไม่ที่จะรวมข้อมูลเมตาในอาเรย์ที่ส่งคืนด้วย PS ฉันไม่ต้องการ wp_queries เพิ่มเติมเนื่องจากเหตุผลด้านประสิทธิภาพ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.