استخدام WP_Query – عرض مقالات ووردبيس والمقالات المخصصة

تم نشرها من قبل : مرجع ووردبريس | في قسم تطوير ثيمات ووردبريس | آخر تحديث : السبت سبتمبر 5, 2020 | مدة القراءة 3 دقيقة
 استخدام WP_Query – عرض مقالات ووردبيس والمقالات المخصصة

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 – يقوم بتصفية المشاركات بواسطة كلمة بحث أساسية
المؤلف – يقوم بتصفية المشاركات بواسطة مؤلف معين

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *