WP_Query هو مجرد دالة استعلام في ووردبريس تسمح للمطورين بكتابة استعلامات مخصصة وعرض المعلومات و المقالات باستخدام معلمات مختلفة.
يمكننا استخدام WP_Query في العديد من الحالات في ثيمات ووردبريس وكذلك عند انشاء اضافات لموقع ووردبريس . نريد الآن معرفة كيفية عرض مقالات ووردبيس والمقالات المخصصة
أول شيء تحتاج إلى معرفته هو تحديد المقالات التي تريد عرضها , سواء كانت مقالات ووردبريس الافتراضية أو المقالات المخصصة التي قمت بانشائها ، وأيضًا التصنيفات أو التصنيف المخصص
الشيء الجيد هو أنه يمكنك استخدام WP_Query لعرض جميع المقالات بأنواعها أو حتى قائمة الصفحات كذلك . أو ما تختاره فقط بناءً على فئة معينة , لك الخيار بالتحديد وفقاً للشرح التالي
أمثلة على استخدام WP_Query
/** * Setup WP_Query to show the ‘post’ with ‘8’ posts. * Output the title with an excerpt. */ <?php $wpb_all_query = new WP_Query(array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 8, 'orderby' => 'title', 'order' => 'ASC', ));?> <?php if ( $wpb_all_query->have_posts() ) : ?> <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?> <div class="post-grid"> <a href="<?php the_permalink(); ?>"> <h3 class="card-title"><?php the_title(); ?> </h3></a> </div> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else : ?> <?php endif; ?>
كما رأيت أعلاه ، استخدمنا هذه المعلمة
‘post_type’ => ‘post’ ، تستدعي نوع المنشور
‘post_status’ => ‘publish’ يستدعي حالة النشر
‘posts_per_page’ => 8 ، تستدعي عدد المنشورات
‘orderby’ => ‘title’ ، هو ترتيب المنشورات حسب العنوان
“order” => “ASC” تصاعديًا
عرض مقالات ووردبيس بصورتها المميزة
<?php $wpb_all_query = new WP_Query(array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 8, 'orderby' => 'title', 'order' => 'ASC', ));?> <?php if ( $wpb_all_query->have_posts() ) : ?> <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?> <div class="post-grid"> <a href="<?php the_permalink(); ?>"> <?php if ( has_post_thumbnail() ) : $url = wp_get_attachment_url( get_post_thumbnail_id());?> <img src="<?php echo $url ?>" class="img-fluid" alt="<?php the_title();?>"> <?php endif;?> <h3 class="card-title"><?php the_title(); ?> </h3></a> </div> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else : ?> <?php endif; ?>
عرض مقالات ووردبيس مع مقتطفاتها
<?php $wpb_all_query = new WP_Query(array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 8, 'orderby' => 'title', 'order' => 'ASC', ));?> <?php if ( $wpb_all_query->have_posts() ) : ?> <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?> <div class="post-grid"> <a href="<?php the_permalink(); ?>"> <?php if ( has_post_thumbnail() ) : $url = wp_get_attachment_url( get_post_thumbnail_id());?> <img src="<?php echo $url ?>" class="img-fluid" alt="<?php the_title();?>"> <?php endif;?> <h3 class="card-title"><?php the_title(); ?> </h3></a> <p><?php the_excerpt(); ?></p> </div> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else : ?> <?php endif; ?>
اظهار المقالات في ووردبريس من تصنيف واحد معين
<?php $wpb_all_query = new WP_Query(array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 8, 'orderby' => 'title', 'order' => 'ASC', 'cat' => 'home', ));?> <?php if ( $wpb_all_query->have_posts() ) : ?> <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?> <div class="post-grid"> <a href="<?php the_permalink(); ?>"> <?php if ( has_post_thumbnail() ) : $url = wp_get_attachment_url( get_post_thumbnail_id());?> <img src="<?php echo $url ?>" class="img-fluid" alt="<?php the_title();?>"> <?php endif;?> <h3 class="card-title"><?php the_title(); ?> </h3></a> <p><?php the_excerpt(); ?></p> </div> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else : ?> <?php endif; ?>
المعلمات
هناك العديد من المعلمات التي يمكنك استخدامها لتخصيص المنشورات المطلوبة مع WP_Query. نحن نغطي بعض المعلمات الشائعة الاستخدام أدناه ولكن للحصول على قائمة أكثر شمولاً ، ألق نظرة على مرجع WordPress Codex على المعلمات.
cat – يقوم بتصفية المشاركات حسب معرف التصنيف
الوسم – ترشيح المشاركات بواسطة وسم معين
tax_query – ترشيح المنشورات حسب معلمات التصنيف المحددة
s – يقوم بتصفية المشاركات بواسطة كلمة بحث أساسية
المؤلف – يقوم بتصفية المشاركات بواسطة مؤلف معين