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

คำทั่วไปที่อ้างถึงกระบวนการดึงข้อมูลจากฐานข้อมูล


5
จะแก้ไขการแบ่งหน้าสำหรับลูปแบบกำหนดเองได้อย่างไร
ฉันได้เพิ่มคิวรีที่กำหนดเอง / รองลงในไฟล์เทมเพลต / เทมเพลตหน้าเว็บที่กำหนดเอง; ฉันจะทำให้ WordPress ใช้เคียวรีที่กำหนดเองของฉันสำหรับการแบ่งหน้าแทนการใช้การแบ่งหน้าลูปแบบสอบถามหลักได้อย่างไร ภาคผนวก query_posts()ฉันได้แก้ไขแบบสอบถามวงหลักผ่าน ทำไมการแบ่งหน้าไม่ทำงานและฉันจะแก้ไขได้อย่างไร
122 loop  pagination  query 


5
การแบ่งหน้าไม่ทำงานกับลูปที่กำหนดเอง
ฉันมีการวนซ้ำแบบกำหนดเองที่ฉันใช้เพื่อแสดงรายการอสังหาริมทรัพย์บางรายการที่จะให้บริการภายใน 60 วัน ฉันกำลังเรียกมันด้วยฟังก์ชั่นต่อไปนี้: <?php $sixtydays = date('Y/m/d', strtotime('+60 days')); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $query = new PostsOrderedByMetaQuery(array( 'post_type' => array('post', 'real-estate'), 'meta_key' => 'Time Available', 'meta_compare' => '<=', 'meta_value' => $sixtydays, 'paged' => $paged, 'orderby_meta_key' => 'Price', 'orderby_order' => 'ASC' )); ?> <?php while ($query->have_posts()) : …

4
วิธี จำกัด จำนวนโพสต์ที่ WP_Query ได้รับ
ฉันได้ทำการค้นคว้าเกี่ยวกับ Google และ WPSE และสิ่งเดียวที่ฉันเห็นซ้ำ ๆ ก็คือการใช้showpostsนั่นคือเลิกใช้แล้ว ฉันคุ้นเคยกับWP_Queryและฉันคิดว่าถ้าฉันตั้งไว้posts_per_pageที่ขีด จำกัด ของฉัน (เช่น 5) และnopagingเพื่อtrueมันจะกลายเป็นบางอย่างเช่น " ตกลงฉันจะให้คุณโพสต์เพียง 5 " แต่มันไม่ได้ผล ฉันจะทำสิ่งนี้ได้อย่างไร
25 posts  wp-query  query 

4
สอบถามค่าคีย์เมตาหลายรายการหรือไม่
วิธีการค้นหาค่าคีย์เมตา mutiple ด้วยคีย์เดียวกัน $querystr = " SELECT $wpdb->posts.* FROM $wpdb->posts, $wpdb->postmeta WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = 'key1' AND $wpdb->postmeta.meta_value = 'value1' // why doesn't this work? AND $wpdb->postmeta.meta_value = 'value2' AND $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ORDER BY $wpdb->posts.post_date DESC "; รหัสต่อไป <?php $args = array( …
22 query 

1
เราควรไว้วางใจโพสต์กลม
@toscho แสดงความคิดเห็นต่อคำตอบนี้ซึ่งทำให้ฉันคิดอีกครั้ง วิธีการไว้วางใจมากที่สุดเราควรจะมีในขอบเขตทั่วโลกโดยเฉพาะเกี่ยวกับการโพสต์ Globals เช่น$post? แล้วอะไรล่ะ ตัวแปรทั่วโลกสามารถเขียนทับได้จากทุกคนก่อนที่เช็คของคุณจะทำงาน นั่นคือจุดของตัวแปรทั่วโลก: การเข้าถึงทั่วโลก $postเช่นเป็นหนึ่งใน globals ที่มีการปรับเปลี่ยนส่วนใหญ่ทั้งในรูปแบบของตัวเองหรือโดยปลั๊กอิน แต่มันยังเป็นที่นิยมใช้กันทั่วโลกในแอปพลิเคชั่นอื่น ๆ ภายในเทมเพลตที่กำหนดตัวอย่างเช่นการตั้งค่าโพสต์ที่เกี่ยวข้อง จากการตอบ (และแสดงความคิดเห็นใน) โพสต์หลายรายการที่มีปัญหาเฉพาะที่เกิดจากการใช้แบบสอบถามที่กำหนดเองมันชัดเจนว่าปัญหาส่วนใหญ่เกิดขึ้นเนื่องจากแบบสอบถามที่กำหนดเองไม่ได้ถูกตั้งค่าใหม่ จากนี้เห็นได้ชัดว่า$postไม่น่าเชื่อถือ โค้ดที่เขียนไม่ดีใด ๆ ที่ใช้ประโยชน์จากการสืบค้นที่กำหนดเองสามารถเปลี่ยน$postทั่วโลกซึ่งจะทำลายบางสิ่งบางอย่าง (เช่นโพสต์ที่เกี่ยวข้อง) มีนักพัฒนา WordPress เพียงไม่กี่คนเท่านั้นที่มีความรู้เพียงพอในการทำงานด้านในของคอร์และรู้ว่าต้องหลีกเลี่ยงอะไรบ้าง จำนวนผู้ใช้งานที่มากขึ้นไม่รู้ว่า WordPress แกนทำงานอย่างไร พวกเขาเพียงแค่ดาวน์โหลดธีมและติดตั้งปลั๊กอินเพื่อทำสิ่งที่จำเป็นหรือเพียงแค่คัดลอกโค้ดจากบทช่วยสอน สมมติว่าพวกเขาติดตั้งปลั๊กอินที่เขียนไม่ดีซึ่งแบ่งโพสต์ที่เกี่ยวข้องไว้ในโพสต์เดียวพวกเขาจะรู้ได้อย่างไรว่าเกิดอะไรขึ้น พวกเขาจะสามารถเรียงลำดับตัวเองออกมาหรือพวกเขาจะเป็นร้อยคนที่เขียนอีเมลถึงผู้แต่งธีมเกี่ยวกับปัญหานี้หรือโพสต์คำถามบนไซต์นี้หรือไม่? คำถามของฉัน:คุณจะสามารถป้องกันปัญหาดังกล่าวที่เกิดจากรหัสนำเข้าอื่น ๆ ได้อย่างไรเมื่อสิ่งที่ทั่วโลกต้องการ$postนั้นไม่น่าเชื่อถือ? เราควรจะใช้สิ่งที่เป็นสากล$postหรือไม่? ทางเลือกคืออะไร? เพียงเพื่อแบ่งปันความคิดของฉันที่นี่ก่อนที่ผมจะสรุป: ผมคิดว่า (และที่เห็นในรูปแบบบางและปลั๊กอินด้วย) ทั้งการใช้wp_reset_postdata()หรือwp_reset_query()ก่อนที่จะทำให้การใช้เพื่อให้แน่ใจว่าโลกจะถูกรีเซ็ตของแบบสอบถามหลัก$post $postแต่ทำไมฉันควรขยายโค้ดของฉันในชุดรูปแบบของฉันเพราะคนอื่นไม่ได้รหัสปลั๊กอินของเขาอย่างถูกต้อง? และหากมีคนรีเซ็ตการสืบค้นที่กำหนดเองอย่างถูกต้องการดำเนินการนี้จะทำงานเป็นครั้งที่สองโดยไม่จำเป็นซึ่งไม่ดี วิธีที่สองผมคิดว่าการที่จะทำให้การใช้งานของแล้วใช้วิธีการบางอย่างเช่น$wp_query$wp_query->post ความคิดใด ๆ เกี่ยวกับเรื่องนี้จะได้รับการชื่นชม

4
แสดงจำนวนโพสต์ที่แตกต่างกันต่อหน้าขึ้นอยู่กับบริบท (เช่นโฮมเพจการค้นหาการเก็บถาวร)
ในการตั้งค่าการอ่านมีสถานที่ตั้งจำนวนการโพสต์ที่แสดงที่มีผลต่อจำนวนการโพสต์ที่แสดงในบริบททั้งหมด ฉันต้องการแสดงจำนวนโพสต์ในหน้าแรกแทนและจำนวนโพสต์ต่าง ๆ ในหน้าเช่นที่เก็บถาวรผลการค้นหาและอื่น ๆ ฉันรู้ว่าฉันสามารถทำได้โดยแก้ไขไฟล์ธีมและเปลี่ยนพารามิเตอร์การสืบค้นที่นั่น แต่ฉันต้องการเข้าถึงหน้าการตั้งค่าง่ายขึ้น นานมาแล้วฉันเจอปลั๊กอินที่ทำสิ่งนี้ แต่ฉันหามันไม่พบในตอนนี้ ไม่มีใครรู้ว่าปลั๊กอินทำเช่นนี้หรือแม้แต่ฟังก์ชั่นที่ฉันสามารถใส่ไว้ใน

5
the_date () ไม่ทำงาน
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน WordPress Development Stack Exchange อพยพ 7 ปีที่ผ่านมา ฉันใช้เวิร์ดเพรส 3.2 และฉันโพสต์ข้อความค้นหาเช่นนี้: <?php query_posts("posts_per_page=1post=type&page=post_parent=10");?> จากนั้นฉันก็พยายามที่จะสะท้อนวันที่โพสต์นี้ที่ฉันถามเช่นนี้ <?php echo the_date(); ?> มันทำให้ฉันชื่อของโพสต์และข้อความที่ตัดตอนมาและ Permalink แต่ไม่มีวันที่ คุณคิดว่าปัญหาคืออะไร ฉันแน่ใจว่ามันเป็นสิ่งที่ค่อนข้างน่าอาย นี่คือรหัสในไฟล์เทมเพลตของฉันสำหรับหน้าวิดีโอ: <?php query_posts("posts_per_page=1post=type&page=post_parent=10");?> <h2>Recent Video</h2> <h3 class="date"><?php echo the_date(); ?></h3> <p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p> <p><a href="<?php echo the_permalink(); ?>" class="more2">Watch Now</a></p> …
20 php  query  mysql  date 

7
สิ่งที่แบบสอบถาม SQL จะทำง่ายค้นหาและแทนที่
เมื่อใดก็ตามที่ฉันสร้างเว็บไซต์ใหม่ฉันจะสร้างเว็บไซต์การแสดงละครบนโดเมนย่อยเช่น "stage.domain-name.com" หลังจากทุกอย่างทำงานถูกต้องฉันส่งออกฐานข้อมูลเปิดใน notepad ++ และทำการค้นหา / แทนที่สำหรับ "subdomain.domain-name.com" และแทนที่ด้วย "domain-name.com" ... ในที่สุดฉันก็นำเข้าสู่ใหม่ ฐานข้อมูลสำหรับเว็บไซต์สด คำถามของฉันคือ ... แบบสอบถาม SQL ใดที่ฉันจำเป็นต้องเรียกใช้ถ้าฉันต้องการค้นหา / แทนที่แบบง่าย ๆ บนฐานข้อมูลทั้งหมดโดยใช้ phpmyadmin -CH

3
วิธีเพิ่มประสิทธิภาพเว็บไซต์ WP สำหรับโพสต์นับล้าน
ฉันกำลังทำงานกับเว็บไซต์ของ บริษัท ที่มีแนวโน้มที่จะสร้างโพสต์นับล้านผ่านประเภทโพสต์ที่กำหนดเอง พวกเขากำลังสวดอ้อนวอนดังนั้นโดยทั่วไปผู้ใช้ส่วนหน้าเพียงแค่ส่งวลีสั้น ๆ ผ่านแบบฟอร์ม บริษัท ทั้งหมดให้ความสำคัญกับเนื้อหาโพสต์และวันที่โพสต์ ไซต์ยังไม่ได้เปิดตัวและพวกเขามีโพสต์มากกว่า 120,000 รายการดังนั้นฉันจึงตายอย่างจริงจังเมื่อฉันพูดเป็นล้าน ดังนั้นคำถามการเพิ่มประสิทธิภาพคู่: สมมติว่าฉันมีหมวดหมู่ "เด่น" ในประเภทโพสต์ที่กำหนดเองที่มี 500,000 โพสต์ หมวดหมู่เรื่องเด่นมีเพียง 500 โพสต์ หากฉันสร้างการสืบค้นสำหรับโพสต์เด่นฉันจะทำการค้นหาทั้ง 500,000 โพสต์หรือเฉพาะ 500 โพสต์ จะทำอย่างไรถ้าฉันต้องการแสดงเฉพาะสิบโพสต์ล่าสุดที่โพสต์ไว้ เมื่อบันทึกประเภทโพสต์ที่กำหนดเองนี้ไปยังฐานข้อมูลมีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อลดทรัพยากรของเซิร์ฟเวอร์โดยเฉพาะอย่างยิ่งเนื่องจากสิ่งเดียวที่จำเป็นจริงๆคือเนื้อหาของโพสต์และวันที่? ฉันควรจะใช้ประเภทโพสต์ที่กำหนดเองหรือไม่ ฉันชอบในหลักการเพราะมันรวมเข้ากับผู้ดูแลระบบ WordPress ได้ดี แต่ถ้ามีข้อเสียเปรียบอย่างมากในการทำงานฉันคิดว่าฉันสามารถทำอะไรที่แตกต่างออกไปได้ ฉันไม่เคยทำงานเกี่ยวกับโครงการในระดับนี้ดังนั้นฉันจึงกังวลเกี่ยวกับประสิทธิภาพมากกว่าปกติ ขอบคุณสำหรับความช่วยเหลือใด ๆ !

1
เรียงตามค่าตัวเลขสำหรับค่าเมตา
ฉันได้อ่านโพสต์นับไม่ถ้วนเกี่ยวกับการสั่งซื้อข้อมูลด้วยค่าตัวเลข (ตรงข้ามกับสตริง - ฉันมีค่าเมตาตัวเลขและได้รับคำสั่งเช่นนี้ 1 11 12 2 233 ฯลฯ ตรงข้ามกับวิธีที่ฉันต้องการ ฉันใช้ WP_Query ได้ลองใช้ meta_query => 'NUMERIC' แต่ฉันไม่แน่ใจว่าเป็นสิ่งที่ควรทำจริงหรือไม่ เช่น $args = array( 'meta_query' => array( array( 'type' => 'NUMERIC' ) ), 'orderby' => 'meta_value', 'meta_key' => '_date', 'post_type' => 'events', 'posts_per_page' => 5, 'order' => 'ASC' );

5
ฉันจะสร้าง meta_query ด้วยอาร์เรย์เป็น meta_field ได้อย่างไร
นี่คือ args สำหรับการค้นหาของฉัน: $args = array( 'post_type' => 'news', 'meta_query' => array( array( 'key' => 'topics', 'value' => 'sports', ) ) ); สิ่งนี้ใช้ได้เมื่อtopicsเป็นสตริง แต่ไม่ใช่เมื่อเป็นอาร์เรย์ ฉันต้องการให้แบบสอบถามนี้ทำงานเมื่อtopicsเป็นตัวอย่างarray( 'sports', 'nonprofit', etc. ) มีวิธีสร้างแบบสอบถาม meta ด้วยอาร์เรย์เป็น meta_key หรือไม่
16 query  meta-query 

1
ดึงข้อมูลโพสต์ด้วยข้อความค้นหาที่กำหนดเอง id คำ
ฉันต้องการดึงโพสต์ที่กำหนดเองโดยใช้การสืบค้นที่กำหนดเอง อนุกรมวิธานของฉันคือ formula_tx และเงื่อนไข (เนื้อ), (ไก่) และอื่น ๆ ในนั้น ฉันได้ลองใช้ SELECT p.* FROM wp_posts p, wp_term_taxonomy tt, wp_term_relationships tr WHERE p.ID=tr.`object_id` AND tt.`term_id`=tr.`term_taxonomy_id` AND (p.post_type = 'recipe_cpt') AND p.post_status = 'publish' AND tt.`term_taxonomy_id` = 37 แต่ไม่มีโชค มีคนช่วยฉันได้วิธีรับโพสต์ wp โดย term_id ของพวกเขา ถ้ารหัสเนื้อเป็น 37 แล้วฉันต้องการดึงโพสต์ทั้งหมดด้วย term_id = 37 ขอขอบคุณ

1
ค้นหาประเภทโพสต์ที่กำหนดเองหลายประเภทในวงเดียว
ฉันรู้ว่ามีโพสต์อื่น ๆ อีกหลายที่ครอบคลุมพื้นคล้ายกับสิ่งที่ฉันกำลังจะถาม ฉันมีประเภทโพสต์ที่กำหนดเองสามแบบที่ทำงานอยู่นอกเหนือจาก 'โพสต์' ฉันต้องการเรียกใช้ลูปที่ดึงการโพสต์ทั้งหมดที่จัดอยู่ในหมวดหมู่เฉพาะ <?php $args = array( 'post_type' => 'testimonial', 'posts_per_page' => 1, 'tax_query' => array( array ( 'taxonomy' => 'testimonial_category', 'field' => 'slug', 'terms' => 'home' ) ) ); $query = new WP_Query( $args ); $postcount = 0; ?> <?php if ($query->have_posts()) : ?> <?php while …
14 php  wp-query  loop  query 

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