คำถามติดแท็ก wp-query

"wp-query" หมายถึงกำกวมอย่างใดอย่างหนึ่ง 1) WP_Query เป็นคลาสพื้นฐานของ WordPress ซึ่งช่วยให้ผู้ใช้สามารถสืบค้นฐานข้อมูลโพสต์โดยใช้เกณฑ์หลายเกณฑ์ 2) $ wp_query เป็นตัวแปรทั่วโลกที่เก็บวัตถุแบบสอบถามหลักที่จัดทำโดย WordPress ตามคำขอที่กำหนด

5
ฉันจะค้นหาโพสต์ด้วยคีย์เมตาบางส่วนได้อย่างไร
ฉันมีฟังก์ชั่นที่จัดเก็บสถานะ "ชอบ" สำหรับโพสต์เป็นโพสต์เมตา ฉันต้องการเชื่อมโยงว่า "ชอบ" กับผู้ใช้ที่ชอบดังนั้นฉันตั้งค่าฟิลด์ที่กำหนดเองที่เรียกว่า "like_status_ {user_id}" (โดยที่ {user_id} เป็นรหัสของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน) ซึ่งฉันเก็บเป็น 0 หรือ 1. ดังนั้นสำหรับโพสต์ที่มี "ไลค์" หลายรายการจะมีค่าเมตาหลายค่าในฐานข้อมูลที่ตั้งค่าดังนี้: 'meta_key' = 'like_status_0' 'meta_value' = 1 'meta_key' = 'like_status_2' 'meta_value' = 1 'meta_key' = 'like_status_34' 'meta_value' = 1 .... และอื่น ๆ มีจำนวนไลค์ในโพสต์ที่เฉพาะเจาะจง ฉันจะเรียกใช้คิวรีที่แสดงให้เห็นได้อย่างไรถ้ามีคนอื่นชอบโพสต์นั้น ฉันกำลังคิดบางอย่างเช่นนี้: $query = new WP_Query(array( 'meta_key' => 'like_status_{user_id}', 'meta_value' …

1
แบบสอบถามอนุกรมวิธานที่กำหนดเองเสียไปหลังจากอัปเกรดเป็น 4.4
ฉันเพิ่งอัพเกรดจาก 4.2 เป็น 4.4 และตอนนี้แบบสอบถาม taxonomy ของฉันส่งคืนว่างเปล่า มันทำงานได้ดีก่อนการอัพเกรด ฉันได้ลงทะเบียนอนุกรมวิธานที่กำหนดเองที่มีชื่อซึ่งจะถูกใช้โดยประเภทโพสต์ของฉันเอง'title' 'sg-publications'ตามลำดับชั้นของเทมเพลต WP ฉันสร้างเทมเพลตชื่อtaxonomy-title.phpซึ่งใช้ args คิวรีเริ่มต้นและจนถึงตอนนี้แสดงชื่อเรื่องของสิ่งพิมพ์แต่ละรายการอย่างถูกต้อง นี่คือผลลัพธ์ของการร้องขอ $ queried_object และ $ wp_query-> ในเทมเพลตนั้น: [queried_object] => WP_Term Object ( [term_id] => 1256 [name] => Stroupe Scoop [slug] => stroupe-scoop [term_group] => 0 [term_taxonomy_id] => 1374 [taxonomy] => title [description] => [parent] => 0 …

1
การผสมประเภทโพสต์ปกติและกำหนดเอง (กับ meta_query) ในหน้าแรก
ไม่แน่ใจว่าจะทำสิ่งนี้ได้อย่างไร ฉันพยายามผสมโพสต์มาตรฐานและโพสต์ที่กำหนดเองในหน้าแรกของเว็บไซต์ แต่ฉันต้องการแสดงโพสต์ที่กำหนดเองหากตั้งค่าเมตา การแสดงโพสต์นั้นใช้งานได้ดี'post_type' => array('game', 'post')แต่เมื่อฉันเพิ่มใน meta_query โพสต์ปกติจะไม่แสดงอีกต่อไป (ซึ่งสมเหตุสมผลแล้วเนื่องจากไม่เป็นไปตามเงื่อนไขของ meta_query) ดังนั้นฉันจะ จำกัด meta_query เฉพาะประเภทโพสต์ที่กำหนดเองเพื่อให้โพสต์ปกติจะยังคงรวมอยู่ได้อย่างไร

4
วิธีที่ดีที่สุดในการตรวจสอบว่าคุณอยู่ในหน้าโพสต์เดียว
ดังนั้นสิ่งนี้อาจดูเหมือนเป็นสิ่งที่ผู้ชายน่ารัก แต่ตามฉันมาที่นี่ ฉันพยายามเพิ่มตรรกะผ่านการpre_get_postsกระทำ นี่เป็นวัตถุ WP_Query ทั้งหมดที่มอบให้ฉัน (ดูตอนท้าย) สิ่งที่ฉันได้พิจารณาการใช้: is_single() - กว้างเกินไป is_singular()- เร็วเกินไปที่จะใช้สิ่งนี้เนื่องจากget_queried_object()ยังไม่ได้ตั้งค่า $query->single อสังหาริมทรัพย์ - กว้างเกินไปอีกครั้ง $query->get('post_type')- ไม่ได้ตั้งค่าเนื่องจากใช้nameคุณสมบัติ เป็นnameตัวบ่งชี้เดียวที่นี่จริง ๆ WP_Query Object ( [query] => Array ( [page] => [name] => abcs-of-mental-health ) [query_vars] => Array ( [page] => [name] => abcs-of-mental-health [error] => [m] => 0 [p] => …
9 wp-query 

2
การใช้ WP_Query แบบกำหนดเองพร้อมด้วยวน get_template_part
ฉันมีข้อความค้นหาประเภทโพสต์ที่กำหนดเอง: <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $books = new WP_Query(array( 'post_type' => 'wiki', 'posts_per_page' => '50', 'paged' => $paged )); ?> และฉันต้องการวนลูปผ่านโพสต์เหล่านี้โดยใช้ loop-books.php: <?php get_template_part( 'loop', 'books' ); ?> ภายใน loop-books.php ฉันมีสิ่งเหล่านี้เหมือนกับ loop.php ปกติฉันเพิ่งเปลี่ยนฟังก์ชั่น have_posts และ the_post เพื่อทำงานกับแบบสอบถาม $ books: <?php if ( $books->have_posts() ) : ?> …

4
การแบ่งหน้าด้วยแบบสอบถาม SQL ที่กำหนดเอง
ฉันมีสตริง SQL ของตัวเองเพื่อเลือกโพสต์ประเภทโพสต์ที่กำหนดเองที่มีข้อเฉพาะ ฉันใช้ออฟเซ็ตและลิมิตเพื่อส่งคืนโพสต์ที่เหมาะสมโดยขึ้นอยู่กับหน้าที่กำลังแสดง มันใช้งานได้ดี ตอนนี้ฉันต้องการทำprevious_posts_link()และnext_posts_link()ฟังก์ชั่นการทำงาน พวกเขาทั้งสองจะเรียกว่าจากการที่ใช้get_posts_nav_linkglobal $wp_query มีวิธีที่ฉันสามารถกำหนดใหม่global $wp_queryด้วยสตริง SQL หรือ$wpdb->get_resultsผลลัพธ์หรืออย่างอื่นได้หรือไม่ ดังนั้นฟังก์ชันดั้งเดิมprevious_posts_link()และnext_posts_link()WP จะทำงานได้ ถ้าไม่ฉันจะสร้างฟังก์ชั่นลิงค์ก่อนหน้าและโพสต์ถัดไปได้อย่างไร ฉันขอขอบคุณความช่วยเหลือและคำแนะนำใด ๆ ! ฉันติดอยู่กับเรื่องนี้อย่างสิ้นเชิง ขอบคุณ :) หมายเหตุ:ฉันเพิ่งสังเกตเห็นว่าprevious_posts_link()ทำงานอย่างถูกต้องในทุกหน้า แต่no idea whyและในกรณีนี้ทำไมnext_posts_linkไม่ทำงาน: S นี่คือรหัส: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $post_per_page = intval(get_query_var('posts_per_page')); $offset = ($paged - 1)*$post_per_page; $sql = " SELECT SQL_CALC_FOUND_ROWS wp_posts.*, wp_postmeta.* FROM …

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