وقتی نوبت به توسعه و میزبانی یک وب سایت وردپرسی می رسد، استفاده از Loop می تواند این کار را انجام دهد process بسیار ساده تر و ساده تر

حلقه وردپرس وظیفه واکشی و نمایش محتوا را بر عهده دارد روی وبسایت شما. علاوه بر این، می توانید از آن برای سفارشی سازی محتوا به دلخواه خود استفاده کنید.

در این آموزش، ما توضیح خواهیم داد که حلقه وردپرس چیست، چگونه کار می کند و رایج ترین موارد استفاده آن است. همچنین بلوک Query Loop را بررسی خواهیم کرد، تفاوت آن با حلقه معمولی وردپرس را دریابیم و روش استفاده از آن را نشان خواهیم داد. روی ویرایشگر بلوک

حلقه وردپرس یکی از ویژگی های اصلی CMS است که نمایش محتوای پویا را تقویت می کند. به طور کلی، این یک بلوک کد PHP است که پست ها، صفحات و انواع دیگر محتوا را از پایگاه داده بازیابی و نمایش می دهد. روی یک وب سایت وردپرسی

حلقه وردپرس چگونه کار می کند

هر زمان که کاربر از یک سایت وردپرس بازدید می کند، Loop محتوای آن را از پایگاه داده بازیابی می کند و آن را نمایش می دهد روی وب page.

برای انجام این کار، حلقه پایگاه داده را برای محتوای مورد نیاز، از جمله عنوان، تاریخ، متن و ابرداده آن می‌خزد. سپس حلقه وردپرس قبل از نمایش آن را بر اساس معیارهای خاص قالب بندی می کند روی سایت.

بیایید نگاهی به یک مثال ساده حلقه وردپرس بیندازیم:

<?php get_header(); ?>
<?php 
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_title() ;?>
<?php the_author(); ?>
<?php the_post_thumbnail(); ?>
<?php endwhile; ?>
<?php endif; ?>
<?php get_footer(); ?>

اکنون، بیایید ببینیم که هر عملکرد وردپرس مسئولیت چیست:

  • get_header() و get_footer() – یک سرصفحه و یک پاورقی در پست خود قرار دهید.
  • if ( have_posts() ) همراه با تابع have_posts().، یک اگر بیانیه تعیین می کند که آیا کوئری فعلی وردپرس دارای هر پستی برای نمایش است یا خیر. یا می تواند برگردد درست است، واقعی اگر پست ها وجود داشته باشد یا نادرست اگر پستی وجود نداشته باشد
  • while ( have_posts() ) – هر کد وردپرس مشخص شده را اجرا می کند تا زمانی که هیچ پستی برای مرور باقی نماند.
  • پست() – علاوه بر آماده سازی پست برای نمایش، تمام داده های مربوطه را بررسی و بازیابی می کند.
  • عنوان()، نویسنده()، the_post_thumbnail() – محتوای واقعی که می خواهید نمایش دهید. در مورد ما، داده های پست شامل عنوان، نویسنده و تصویر کوچک پست می شود. معمولا این قسمت با کد HTML برای قالب بندی نیز پر می شود.

آخرین در پایان و endif خطوط برای بستن هستند در حالی که حلقه و اگر تابع.

نکته حرفه ای

حلقه نمایش داده می شود عنوان()، زمان()، و the_category() برچسب های قالب وردپرس به طور پیش فرض برای هر پست

متناوبا، از دستور کد PHP زیر برای حلقه وردپرس خود استفاده کنید. در حالی که عملکرد و عناصر آن یکسان است، فرمت نحو متفاوت است.

<?php
get_header();
if ( have_posts() ) :
	while ( have_posts() ) : the_post();
	the_title();
	the_author();
	the_post_thumbnail();
	endwhile;
endif;
get_footer();
?>

روش استفاده از حلقه در وردپرس

در این بخش، چند مثال ساده از روش استفاده از Loop در وردپرس ارائه خواهیم داد.

بنر میزبانی وردپرس
حلقه وردپرس چیست، روش استفاده از آن + بلوک حلقه پرس و جو توضیح داده شده است 28

روش هایپرلینک کردن روی عنوان پست با استفاده از حلقه

هر زمان که یک پست وبلاگ ایجاد می کنید، برای ناوبری آسان تر، یک لینک به عنوان آن اضافه کنید.

برای این کار از کد زیر استفاده کنید the_permalink() تگ قالب:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
           <h2><a href="https://www.hostinger.com/tutorials/<?php the_permalink(); ?>"><?php the_title() ;?></a></h2>
            <?php the_post_thumbnail(); ?>
<?php endwhile; ?>
<?php endif; ?>

روش استفاده از حلقه وردپرس برای نمایش محتوا، نویسنده، تاریخ و دسته

اگر می خواهید پست شما شامل نویسنده، تاریخ، دسته بندی و محتوای آن باشد، کد وردپرس زیر را اعمال کنید:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
           <h2><?php the_title() ;?></h2>
           <?php the_author(); ?> <?php the_time('F j, Y'); ?> <?php the_category(); ?>
           <?php the_post_thumbnail(); ?>
           <?php the_content(); ?>
<?php endwhile; ?> 
<?php endif; ?>

روش استفاده از تگ های شرطی در حلقه وردپرس

تگ های شرطی مجموعه ای از توابع وردپرس هستند که روش نمایش محتوای یک وب سایت را تعیین می کنند. معمولا، توسعه دهندگان تم آنها را به فایل های قالب اضافه می کنند تا به کاربران اجازه دهند شرایط مختلفی را که ظاهر کلی سایت هایشان را کنترل می کند، بررسی کنند.

به عنوان مثال، اگر می خواهید فقط محتوا را نمایش دهید روی را homepage، استفاده کنید خانه است() برچسب شرطی به همین ترتیب، فقط برای نمایش محتوا روی یک پست واحد page، استفاده کنید مجرد است() برچسب زدن

پیشنهاد می‌کنیم بخوانید:  روش میزبانی سرور Zomboid Project با استفاده از هاستینگerپنل بازی و دستی

در اینجا رایج ترین تگ های شرطی در وردپرس آمده است:

  • is_front_page() – برای جلوی یک وب سایت page.
  • is_page() – برای وردپرس page.
  • is_category() – برای آرشیو دسته.
  • is_tag() – برای آرشیو برچسب
  • is_archive() – برای یک آرشیو page.
  • is_search() – برای نتایج جستجو page.
  • is_author() – برای آرشیو نویسنده
  • is_404() – for یک ff 404 است page.

به یاد داشته باشید که آنها را به عنوان تنظیم کنید درست است، واقعی برای هرچی page می خواهید از آنها استفاده کنید روی.

در مثال زیر از is_front_page() با یک تگ کنید اگر بیانیه:

<?php if (is_front_page()) : ?>  
        <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
         <h2><?php the_title() ;?></h2>
           <?php the_post_thumbnail(); ?>
           <?php the_excerpt(); ?>

<?php endwhile; ?>
<?php endif; ?>
<?php endif; ?>

کاربران وردپرس می توانند از کد بالا برای نمایش پست ها استفاده کنند روی جلو page.

روش سفارشی سازی حلقه وردپرس با استفاده از فایل های قالب

سفارشی کردن حلقه وردپرس با استفاده از فایل های قالب نیاز به تغییر کد PHP در فایل های موضوع دارد، از جمله archive.php، index.php، category.php، و tag.php.

برای سفارشی کردن حلقه، می توانید پارامترهای پرس و جو را تغییر دهید، عناصری را از آن اضافه یا حذف کنید، یا روش نمایش محتوای پست را تغییر دهید.

نکته حرفه ای

توصیه می‌کنیم برای جلوگیری از از دست رفتن تغییرات در طول به‌روزرسانی، یک تم فرزند وردپرس ایجاد کنید.

به خاطر داشته باشید که وردپرس در حال تغییر به تم های مبتنی بر بلوک است که دیگر از فایل های قالب PHP استفاده نمی کنند. در نتیجه، باید از بلوک Query Loop برای چنین تم های وردپرس استفاده کنید.

با این حال، استفاده از حلقه وردپرس برای تم های وردپرس غیر مسدود ضروری است.

نمونه های حلقه وردپرس

در مثال های زیر کد اضافه می کنیم index.php از فایل قالب Twenty Twenty.

استایل دادن به پست‌ها از دسته‌ها متفاوت است

ممکن است بخواهید پست های دسته بندی های مختلف متفاوت نمایش داده شوند. این می تواند به خوانندگان کمک کند تا پست های شما را بهتر متمایز کنند.

مثال زیر عنوان، دسته و محتوای هر پست را نمایش می‌دهد و به شما امکان می‌دهد به پست‌های دسته 3 سبک متفاوتی بدهید.

توجه داشته باشید که مثال Loop زیر از رسمی است مستندات حلقه وردپرس page و شامل نظرات کد مفید است.

 <!-- Start the Loop. -->
 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
 	<!-- Test if the current post is in category 3. -->
 	<!-- If it is, the div box is given the CSS class "post-cat-three". -->
 	<!-- Otherwise, the div box is given the CSS class "post". -->
 	<?php if ( in_category( '3' ) ) : ?>
 		<div class="post-cat-three">
 	<?php else : ?>
 		<div class="post">
 	<?php endif; ?>
 	<!-- Display the entry Title as a link to the Post's permalink. -->
 	<h2><a href="https://www.hostinger.com/tutorials/<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
 	<!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. -->
 	<small><?php the_time('F jS, Y'); ?> by <?php the_author_posts_link(); ?></small>
 	<!-- Display the Post's entry content in a div box. -->
 	<div class="entry">
 		<?php the_content(); ?>
 	</div>
 	<!-- Display a comma separated list of the Post's Categories. -->
 	<p class="postmetadata"><?php _e( 'Posted in' ); ?> <?php the_category( ', ' ); ?></p>
 	</div> <!-- closes the first div box -->
 	<!-- Stop The Loop (but note the "else:" - see next line). -->
 <?php endwhile; else : ?>
 	<!-- The very first "if" tested to see if there were any Posts to -->
 	<!-- display.  This "else" part tells what to do if there weren't any. -->
 	<p><?php esc_html_e( 'Sorry, no posts matched your criteria.' ); ?></p>
 	<!-- REALLY stop The Loop. -->
 <?php endif; ?>

درج تبلیغات بعد از اولین پست

با حلقه وردپرس، می توانید به راحتی تبلیغات را در پست های خود درج کنید. این یک استراتژی بازاریابی عالی برای کسب درآمد از سایت شما است.

در مثال زیر، تبلیغات را بعد از اولین پست درج می کنیم:

<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
  <?php if ($count == 2) : ?>
          //Ad code 
          <h2><a href="https://www.hostinger.com/tutorials/<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_author(); ?>
   <?php else : ?>
          <h2><a href="https://www.hostinger.com/tutorials/<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_author(); ?>
  <?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

به یاد داشته باشید که جایگزین کنید کد آگهی با کد واقعی قسمت کنید

گرفتن پست بین دو تاریخ

برای مدیریت راحت تر سایت، می توانید به راحتی پست های بین دو تاریخ را با حلقه وردپرس فیلتر کنید. کد زیر را بررسی کنید:

<?php function filter_where($where = ’) {
        $where .= " AND post_date >= '1403-01-01' AND post_date <= '1403-03-01'";
    return $where;
  }
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()) :
      the_post();
      the_content();
endwhile;
?>

مطمئن شوید که 1403-01-01 و 1403-03-01 را به دلخواه خود تنظیم کنید.

نمایش پست های منتشر شده یک سال پیش

استفاده مجدد از محتوای قدیمی می تواند یک استراتژی عالی برای جذب خوانندگان جدید باشد. اگر می‌خواهید پست‌هایی را که یک سال پیش نوشته‌اید نمایش دهید، از کد زیر استفاده کنید.

<?php
$current_day = date('j');
$last_year = date('Y')-1;
query_posts('day='.$current_day.'&year=".$last_year);
if (have_posts()):
    while (have_posts()) : the_post();
       the_title();
       the_excerpt();
    endwhile;
endif;
?>

لیست پست های آینده

برای تشویق کاربران به بازدید از وبلاگ شما در آینده، پست های آینده را فهرست کنید. برای اطلاعات بیشتر کد زیر را بررسی کنید:

<?php query_posts("showposts=10&post_status=future'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php endwhile;
else: ?><p>No future posts scheduled.</p>
<?php endif; ?>

نمایش آخرین پست های چسبنده

اگر می خواهید فقط آخرین پست های چسبناک را نمایش دهید، به کد زیر مراجعه کنید:

<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );

if (have_posts()) :
    while (have_posts()) : the_post();
        the_title();
        the_excerpt();
    endwhile;
endif;
?>

ساخت صفحه آرشیو

یک آرشیو page مجموعه ای از پست های منتشر شده قبلی شما است. به راحتی پست های محبوب گذشته را برای وب خود نمایش دهید page بازدید کنندگان.

پیشنهاد می‌کنیم بخوانید:  لینوکس tail Command چیست و چگونه از آن با دستور head استفاده کنیم

برای ایجاد آن به کد زیر مراجعه کنید:

<?php
/*
Template Name: MyArchives
*/
?>
<?php get_header(); ?>
  <h2><?php $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status="publish"");
if (0 < $numposts) $numposts = number_format($numposts); ?>
<h2><?php echo $numposts.' recipes published since January 01, 1403'; ?>
  </h2>
  <ul id="archive-list">
    <?php
    $myposts = get_posts('numberposts=-1&');
    foreach($myposts as $post) : ?>
      <li><?php the_time('m/d/y') ?>: <a href="https://www.hostinger.com/tutorials/<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
  </ul>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

آشنایی با بلوک حلقه پرس و جو وردپرس

یکی از مهم‌ترین به‌روزرسانی‌های حلقه وردپرس، معرفی بلوک Query Loop است. بدون بحث بیشتر، بیایید دریابیم که چیست و چگونه از آن استفاده کنیم.

بلوک حلقه پرس و جو چیست؟

بلوک حلقه پرس و جو وردپرس که در وردپرس 5.8 معرفی شد، افزودنی قدرتمند به ویژگی پایه حلقه است. ویرایشگر گوتنبرگ از آن برای نمایش پست ها استفاده می کند روی وبسایت شما.

با بلوک حلقه پرس و جو وردپرس، می‌توانید به راحتی قالب‌های پست وردپرس پیچیده و جذاب بسازید که محتوا را به ترتیب خاصی نمایش می‌دهد. برای انجام این کار، می توانید فیلترهای مختلفی مانند دسته، برچسب یا تاریخ را اعمال کنید.

به عبارت دیگر، بلوک Query Loop مانند حلقه PHP است اما بدون کد واقعی است. به این ترتیب، می‌توانید از ویرایشگر بلوک برای سفارشی‌سازی آسان روش نمایش محتوا استفاده کنید روی وب سایت با تعیین اینکه کدام پست ها یا صفحات باید به چه ترتیبی نمایش داده شوند.

روش استفاده از بلوک حلقه پرس و جو در وردپرس

برای افزودن بلوک Query Loop، پست‌های جدید وردپرس را در ویرایشگر بلوک باز کنید یا اضافه کنید:

پست ها page on  داشبورد وردپرس  هایلایت، پست های وردپرسی را که در حال حاضر ایجاد شده اند نمایش می دهد پست ها page on  داشبورد وردپرس  هایلایت، پست های وردپرسی را که در حال حاضر ایجاد شده اند نمایش می دهد

پس از ورود به ویرایشگر، نماد درج کننده بلوک را انتخاب کنید:

ویرایشگر بلوک وردپرس، نماد درج بلوک هایلایت شده استویرایشگر بلوک وردپرس، نماد درج بلوک هایلایت شده است

حلقه Query را جستجو کنید و کلیک کنید روی آی تی:

پنجره درج بلوک on وردپرس.  نماد بلوک Query Loop برجسته شده استپنجره درج بلوک on وردپرس.  نماد بلوک Query Loop برجسته شده است

تمام – یک بلوک Query Loop جدید به پست شما اضافه خواهد شد. اکنون، بخش زیر را برای سفارشی کردن آن بررسی کنید.

سفارشی کردن بلوک حلقه پرس و جو

هر زمان که یک بلوک Query Loop جدید اضافه کنید، دو گزینه را مشاهده خواهید کرد:

بلوک Query Loop اضافه شد، گزینه های خالی انتخاب و شروع قابل مشاهده استبلوک Query Loop اضافه شد، گزینه های خالی انتخاب و شروع قابل مشاهده است

انتخاب کنید

را انتخاب کنید این گزینه به شما امکان می دهد بین انواع الگوهای مختلف انتخاب کنید. فقط یکی را که ترجیح می دهید انتخاب کنید.

پنجره انتخاب الگو برای بلوک Query Loopپنجره انتخاب الگو برای بلوک Query Loop

به یاد داشته باشید که هر بلوک Query Loop از بلوک‌های تودرتوی مختلفی تشکیل شده است، مانند Post Title یا Excerpt. اگر می‌پرسید کدام بلوک‌ها در بلوک Query Loop استفاده می‌شوند، ابزار نمای کلی سند را باز کنید. در اینجا همه بلوک های تودرتو را مشاهده می کنید و می توانید بین آنها حرکت کنید:

نمای ویرایشگر بلوک وردپرس با عناوین پست قابل مشاهده است.  دکمه ابزار نمای کلی سند برجسته شده استنمای ویرایشگر بلوک وردپرس با عناوین پست قابل مشاهده است.  دکمه ابزار نمای کلی سند برجسته شده است

خالی را شروع کنید

در خالی شروع کنید گزینه، شما قالب های مختلف را مشاهده خواهید کرد. یکی را که ترجیح می دهید انتخاب کنید. برای این مثال، ما الگو را با عنوان پست و گزیده اضافه می کنیم:

پنجره Query Loop زمانی که کاربر گزینه Start Blank را انتخاب می کند.  گزینه Title & Excerpt برجسته شده استپنجره Query Loop زمانی که کاربر گزینه Start Blank را انتخاب می کند.  گزینه Title & Excerpt برجسته شده است

پس از افزودن بلوک Query Loop، می توانید آن را با استفاده از نوار ابزار بلوک یا قسمت تنظیمات بلوک سفارشی کنید. بیایید به هر یک از آنها بپردازیم.

نوار ابزار مسدود کردن

نوار ابزار Block ابزار اصلی برای سفارشی کردن هر بلوکی است روی وردپرس، از جمله Query.

نوار ابزار بلوک برای بلوک Query Loop، همه دکمه های پیکربندی قابل مشاهده هستندنوار ابزار بلوک برای بلوک Query Loop، همه دکمه های پیکربندی قابل مشاهده هستند

در اینجا می‌توانید حلقه Query را به ستون‌ها یا بلوک‌های گروه تبدیل کنید، آن را در ویرایشگر حرکت دهید، تراز را تنظیم کنید یا نمای پیش‌فرض را تغییر دهید. قابل توجه ترین گزینه ها هستند تنظیمات نمایشگر و جایگزین کردن:

نوار ابزار بلوک برای بلوک Query Loop، تنظیمات نمایش و دکمه‌های Replace برجسته شده استنوار ابزار بلوک برای بلوک Query Loop، تنظیمات نمایش و دکمه‌های Replace برجسته شده است

تنظیمات نمایش به شما این امکان را می دهد که انتخاب کنید چند پست وردپرس نمایش داده شود و تعیین کنید که چه تعداد از آنها باید قبل از نمایش محتوای ترجیحی نادیده گرفته شوند.

نوار ابزار بلوک برای بلوک Query Loop، پنجره تنظیمات نمایش باز استنوار ابزار بلوک برای بلوک Query Loop، پنجره تنظیمات نمایش باز است

اگر تنظیمات نمایشگر را نمی بینید، مطمئن شوید پرس و جو را از قالب به ارث ببرید در قسمت Block Settings گزینه غیرفعال است.

یکی دیگر از عملکردهای مفید وردپرس این است جایگزین کردن. با آن، می توانید به راحتی الگوی فعلی را با هر الگوی دیگری جایگزین کنید:

یک پنجره الگو برای بلوک Query Loop انتخاب کنیدیک پنجره الگو برای بلوک Query Loop انتخاب کنید

تنظیمات را مسدود کنید

سایر تنظیمات مهم بلوک را می توان با کلیک کردن بر روی آن پیدا کرد تنظیمات دکمه روی گوشه سمت راست بالای ویرایشگر:

نمای تنظیمات بلوک برای بلوک Query Loop.  دکمه تنظیمات برجسته شده استنمای تنظیمات بلوک برای بلوک Query Loop.  دکمه تنظیمات برجسته شده است

در اینجا می‌توانید طرح‌بندی حلقه Query را سفارشی کنید، پست‌ها را فیلتر کنید یا هر کلاس CSS سفارشی را به بلوک خود اضافه کنید.

مطالعه پیشنهادی

وارسی اسناد رسمی در صورت نیاز به اطلاعات بیشتر، برای بلوک Query Loop.

صفحه بندی حلقه پرس و جو

بلوک حلقه پرس و جو پست های وبلاگ شما را نمایش می دهد روی چندین صفحه زمانی که پست های زیادی دارید روی سایت شما. بنابراین، شما ممکن است ببینید page شماره بلوک در داخل یک حلقه پرس و جو.

اگر این بلوک را انتخاب کنید و پانل تنظیمات بلوک را باز کنید، می توانید تعداد صفحات نمایش داده شده برای بینندگان را تغییر دهید. به این ترتیب، می‌توانید پیوندهایی را به صفحات بیشتری نشان دهید و به بازدیدکنندگان اجازه دهید سریع بین صفحات بپرند.

تنظیمات صفحه بندی برای page بلوک اعدادتنظیمات صفحه بندی برای page بلوک اعداد

نتیجه

حلقه وردپرس می تواند برای هر وب سایتی مفید باشد زیرا روش نمایش پست ها را ترتیب می دهد و به شما کمک می کند تا از دیگران متمایز شوید.

اگر با کدنویسی آشنایی ندارید نگران نباشید – با معرفی بلوک Query Loop، می توانید از ویرایشگر بلاک برای نمایش پست های وردپرس خود به دلخواه خود استفاده کنید.

با این حال، استفاده از حلقه همچنان برای توسعه یک تم وردپرس غیر بلوکی ضروری است. امیدواریم این آموزش برای شما مفید بوده باشد. اگر سوالی دارید، به راهنمای وردپرس ما مراجعه کنید یا نظر خود را در زیر بنویسید.