برنامه نویسی و ITبرنامه نویسی وبوردپرس

حلقه وردپرس چیست؟

وردپرس یک سیستم مدیریت محتوا (CMS) است که به شما امکان می‌دهد بدون نیاز به دانش برنامه‌نویسی، وب‌سایت‌های زیبا و حرفه‌ای بسازید. وردپرس از زبان برنامه‌نویسی PHP و پایگاه داده MySQL برای ذخیره و پردازش اطلاعات استفاده می‌کند. وردپرس از یک سیستم قالب‌بندی استاندارد به نام قالب وردپرس (WordPress Theme) برای طراحی و نمایش وب‌سایت‌ها استفاده می‌کند. قالب وردپرس شامل یک مجموعه از فایل‌های PHP، HTML، CSS و JavaScript است که مشخص می‌کنند که وب‌سایت شما چگونه به نظر برسد و عمل کند.

حلقه وردپرس چیست؟

یکی از مهم‌ترین بخش‌های قالب وردپرس، حلقه وردپرس (WordPress Loop) است. اما حلقه وردپرس چیست؟! حلقه وردپرس یک مکانیزم است که به وردپرس امکان می‌دهد پست‌ها و صفحات وب‌سایت شما را از پایگاه داده بازیابی کرده و در صفحه جاری نمایش دهد. حلقه وردپرس با استفاده از توابع وردپرس و شرط‌های خاصی، اطلاعات مربوط به پست‌ها را از پایگاه داده وردپرس بازیابی می‌کند و طبق دستورات شما، آن‌ها را در صفحه جاری قرار می‌دهد. WordPress Loop می‌تواند عناصر مختلفی از پست‌ها را نمایش دهد، مانند عنوان، تصویر شاخص، گزیده، محتوا، نویسنده، تاریخ، دسته‌بندی، برچسب و غیره.

آموزش جامع طراحی سایت با وردپرس

 

حلقه وردپرس به صورت پیش‌فرض در فایل‌های index.php، single.php، page.php و archive.php قالب وردپرس شما قرار دارد. اما شما می‌توانید حلقه وردپرس را در هر فایل دیگری از قالب خود نیز قرار دهید. برای این کار، شما باید از ساختار زیر استفاده کنید:

PHP
<span class="linenumber react-syntax-highlighter-line-number">2</span>
<span class="linenumber react-syntax-highlighter-line-number">3</span>    <span class="token"><</span>
<span class="linenumber react-syntax-highlighter-line-number">4</span>  <span class="token">?</span> php <span class="token">if</span> <span class="token">(</span><span class="token">have_posts</span><span class="token">(</span><span class="token">)</span><span class="token">)</span>
<span class="linenumber react-syntax-highlighter-line-number">5</span>  <span class="token">:</span> <span class="token">while</span> <span class="token">(</span><span class="token">have_posts</span><span class="token">(</span><span class="token">)</span><span class="token">)</span>
<span class="linenumber react-syntax-highlighter-line-number">6</span>  <span class="token">:</span> <span class="token">the_post</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
<span class="linenumber react-syntax-highlighter-line-number">7</span><span class="token">?</span> <span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">8</span>
<span class="linenumber react-syntax-highlighter-line-number">9</span>    کد‌های نمایش پست‌ها در اینجا قرار می‌گیرند<span class="token">.</span>
<span class="linenumber react-syntax-highlighter-line-number">10</span>
<span class="linenumber react-syntax-highlighter-line-number">11</span>    <span class="token"><</span>
<span class="linenumber react-syntax-highlighter-line-number">12</span>  <span class="token">?</span> php endwhile<span class="token">;</span>
<span class="linenumber react-syntax-highlighter-line-number">13</span><span class="token">else</span>
<span class="linenumber react-syntax-highlighter-line-number">14</span>  <span class="token">:</span>
<span class="linenumber react-syntax-highlighter-line-number">15</span>  <span class="token">?</span> <span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">16</span>
<span class="linenumber react-syntax-highlighter-line-number">17</span>      کد‌های نمایش پیغام خطا در صورت عدم وجود پست در اینجا قرار
<span class="linenumber react-syntax-highlighter-line-number">18</span>        می‌گیرند<span class="token">.</span>
<span class="linenumber react-syntax-highlighter-line-number">19</span>
<span class="linenumber react-syntax-highlighter-line-number">20</span>      <span class="token"><</span>
<span class="linenumber react-syntax-highlighter-line-number">21</span>  <span class="token">?</span> php endif<span class="token">;</span>
<span class="linenumber react-syntax-highlighter-line-number">22</span><span class="token">?</span> <span class="token">></span>

در این ساختار، ابتدا یک شرط if بررسی می‌کند که آیا پستی برای نمایش وجود دارد یا خیر. اگر پستی وجود داشته باشد، یک حلقه while شروع می‌شود که تا زمانی که پستی وجود داشته باشد، کد‌های درون آن را اجرا می‌کند. در این حلقه، تابع the_post() پست فعلی را تنظیم می‌کند و سپس می‌توانید از توابع دیگری برای نمایش عناصر مختلف پست استفاده کنید. در صورتی که پستی وجود نداشته باشد، کد‌های بخش else اجرا می‌شوند که معمولاً یک پیغام خطا را نمایش می‌دهند.

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

پیشنهاد مطالعه: ووکامرس چیست و چگونه از آن استفاده کنیم + نحوه راه اندازی

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

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

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

ابتدا، باید فایل index.php را باز کنید و کد‌های زیر را در آن قرار دهید:

php
<span class="linenumber react-syntax-highlighter-line-number">2</span>
<span class="linenumber react-syntax-highlighter-line-number">3</span><span class="token"><</span><span class="token">?</span>php <span class="token">get_header</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// فراخوانی فایل header.php ?></span>
<span class="linenumber react-syntax-highlighter-line-number">4</span>
<span class="linenumber react-syntax-highlighter-line-number">5</span>
<span class="linenumber react-syntax-highlighter-line-number">6</span>
<span class="linenumber react-syntax-highlighter-line-number">7</span>
<span class="linenumber react-syntax-highlighter-line-number">8</span><span class="token"><</span>div class<span class="token">=</span><span class="token">"container"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">9</span>
<span class="linenumber react-syntax-highlighter-line-number">10</span>  <span class="token"><</span>div class<span class="token">=</span><span class="token">"row"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">11</span>
<span class="linenumber react-syntax-highlighter-line-number">12</span>    <span class="token"><</span>div class<span class="token">=</span><span class="token">"col-md-8"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">13</span>
<span class="linenumber react-syntax-highlighter-line-number">14</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">if</span> <span class="token">(</span> <span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">while</span> <span class="token">(</span> <span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">the_post</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// شروع حلقه وردپرس ?></span>
<span class="linenumber react-syntax-highlighter-line-number">15</span>
<span class="linenumber react-syntax-highlighter-line-number">16</span>        <span class="token"><</span>div class<span class="token">=</span><span class="token">"post"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">17</span>
<span class="linenumber react-syntax-highlighter-line-number">18</span>          <span class="token"><</span>h2 class<span class="token">=</span><span class="token">"post-title"</span><span class="token">></span><span class="token"><</span>a href<span class="token">=</span><span class="token">"<?php the_permalink(); // لینک پست ?>"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_title</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// عنوان پست ?></a></h2></span>
<span class="linenumber react-syntax-highlighter-line-number">19</span>
<span class="linenumber react-syntax-highlighter-line-number">20</span>          <span class="token"><</span><span class="token">?</span>php <span class="token">if</span> <span class="token">(</span> <span class="token">has_post_thumbnail</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">// بررسی وجود تصویر شاخص ?></span>
<span class="linenumber react-syntax-highlighter-line-number">21</span>
<span class="linenumber react-syntax-highlighter-line-number">22</span>            <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-thumbnail"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">23</span>
<span class="linenumber react-syntax-highlighter-line-number">24</span>              <span class="token"><</span><span class="token">?</span>php <span class="token">the_post_thumbnail</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// نمایش تصویر شاخص ?></span>
<span class="linenumber react-syntax-highlighter-line-number">25</span>
<span class="linenumber react-syntax-highlighter-line-number">26</span>            <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">27</span>
<span class="linenumber react-syntax-highlighter-line-number">28</span>          <span class="token"><</span><span class="token">?</span>php endif<span class="token">;</span> <span class="token">?</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">29</span>
<span class="linenumber react-syntax-highlighter-line-number">30</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-excerpt"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">31</span>
<span class="linenumber react-syntax-highlighter-line-number">32</span>            <span class="token"><</span><span class="token">?</span>php <span class="token">the_excerpt</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// نمایش گزیده پست ?></span>
<span class="linenumber react-syntax-highlighter-line-number">33</span>
<span class="linenumber react-syntax-highlighter-line-number">34</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">35</span>
<span class="linenumber react-syntax-highlighter-line-number">36</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-more"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">37</span>
<span class="linenumber react-syntax-highlighter-line-number">38</span>            <span class="token"><</span>a href<span class="token">=</span><span class="token">"<?php the_permalink(); // لینک پست ?>"</span> class<span class="token">=</span><span class="token">"btn btn-primary"</span><span class="token">></span>ادامه مطلب<span class="token"><</span><span class="token">/</span>a<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">39</span>
<span class="linenumber react-syntax-highlighter-line-number">40</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">41</span>
<span class="linenumber react-syntax-highlighter-line-number">42</span>        <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">43</span>
<span class="linenumber react-syntax-highlighter-line-number">44</span>      <span class="token"><</span><span class="token">?</span>php endwhile<span class="token">;</span> <span class="token">else</span> <span class="token">:</span> <span class="token">// پایان حلقه وردپرس و شروع بخش خطا ?></span>
<span class="linenumber react-syntax-highlighter-line-number">45</span>
<span class="linenumber react-syntax-highlighter-line-number">46</span>        <span class="token"><</span>p<span class="token">></span>متاسفانه پستی برای نمایش وجود ندارد<span class="token">.</span><span class="token"><</span><span class="token">/</span>p<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">47</span>
<span class="linenumber react-syntax-highlighter-line-number">48</span>      <span class="token"><</span><span class="token">?</span>php endif<span class="token">;</span> <span class="token">?</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">49</span>
<span class="linenumber react-syntax-highlighter-line-number">50</span>    <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">51</span>
<span class="linenumber react-syntax-highlighter-line-number">52</span>    <span class="token"><</span>div class<span class="token">=</span><span class="token">"col-md-4"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">53</span>
<span class="linenumber react-syntax-highlighter-line-number">54</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">get_sidebar</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// فراخوانی فایل sidebar.php ?></span>
<span class="linenumber react-syntax-highlighter-line-number">55</span>
<span class="linenumber react-syntax-highlighter-line-number">56</span>    <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">57</span>
<span class="linenumber react-syntax-highlighter-line-number">58</span>  <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">59</span>
<span class="linenumber react-syntax-highlighter-line-number">60</span><span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">61</span>
<span class="linenumber react-syntax-highlighter-line-number">62</span>
<span class="linenumber react-syntax-highlighter-line-number">63</span>
<span class="linenumber react-syntax-highlighter-line-number">64</span>
<span class="linenumber react-syntax-highlighter-line-number">65</span><span class="token"><</span><span class="token">?</span>php <span class="token">get_footer</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// فراخوانی فایل footer.php ?></span>

در این کد، ما از توابع وردپرس مختلفی برای نمایش عناصر پست استفاده کرده‌ایم. این توابع عبارتند از:

  • get_header()‎: این تابع فایل php را فراخوانی می‌کند که شامل بخش سربرگ وب‌سایت است.
  • have_posts()‎: این تابع بررسی می‌کند که آیا پستی برای نمایش وجود دارد یا خیر.
  • the_post()‎: این تابع پست فعلی را تنظیم می‌کند و به پست بعدی می‌رود.
  • the_title()‎: این تابع عنوان پست فعلی را نمایش می‌دهد.
  • the_permalink()‎: این تابع لینک پست فعلی را برمی‌گرداند.
  • has_post_thumbnail()‎: این تابع بررسی می‌کند که آیا پست فعلی دارای تصویر شاخص است یا خیر.
  • the_post_thumbnail()‎: این تابع تصویر شاخص پست فعلی را نمایش می‌دهد.
  • the_excerpt()‎: این تابع گزیده پست فعلی را نمایش می‌دهد.
  • get_sidebar()‎: این تابع فایل php را فراخوانی می‌کند که شامل بخش نوار کناری وب‌سایت است.
  • get_footer()‎: این تابع فایل php را فراخوانی می‌کند که شامل بخش پاورقی وب‌سایت است.

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

شرط های حلقه وردپرس چیست؟

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

آموزش طراحی سایت بدون کد نویسی

 

شرط‌های حلقه وردپرس به شما امکان می‌دهند که بر اساس معیارهای مختلفی مانند نوع پست، دسته‌بندی، برچسب، تاریخ، نویسنده و غیره، پست‌ها را فیلتر کنید. شما می‌توانید از تابع query_posts() برای اعمال شرط‌های حلقه وردپرس استفاده کنید.

شرط های حلقه وردپرس

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

PHP
<span class="linenumber react-syntax-highlighter-line-number">5</span>
<span class="linenumber react-syntax-highlighter-line-number">6</span><span class="token"><</span><span class="token">?</span>php <span class="token">query_posts</span><span class="token">(</span> <span class="token">array</span><span class="token">(</span> <span class="token">'category_name'</span> <span class="token">=</span><span class="token">></span> <span class="token">'wordpress'</span> <span class="token">)</span> <span class="token">)</span><span class="token">;</span> <span class="token">// فیلتر کردن پست‌ها بر اساس دسته‌بندی وردپرس ?></span>
<span class="linenumber react-syntax-highlighter-line-number">7</span>
<span class="linenumber react-syntax-highlighter-line-number">8</span><span class="token"><</span><span class="token">?</span>php <span class="token">if</span> <span class="token">(</span> <span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">while</span> <span class="token">(</span> <span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">the_post</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// شروع حلقه وردپرس ?></span>
<span class="linenumber react-syntax-highlighter-line-number">9</span>
<span class="linenumber react-syntax-highlighter-line-number">10</span><span class="token">// کد‌های نمایش پست‌ها در اینجا قرار می‌گیرند.</span>
<span class="linenumber react-syntax-highlighter-line-number">11</span>
<span class="linenumber react-syntax-highlighter-line-number">12</span><span class="token"><</span><span class="token">?</span>php endwhile<span class="token">;</span> <span class="token">else</span> <span class="token">:</span> <span class="token">// پایان حلقه وردپرس و شروع بخش خطا ?></span>
<span class="linenumber react-syntax-highlighter-line-number">13</span>
<span class="linenumber react-syntax-highlighter-line-number">14</span><span class="token">// کد‌های نمایش پیغام خطا در صورت عدم وجود پست در اینجا قرار می‌گیرند.</span>
<span class="linenumber react-syntax-highlighter-line-number">15</span>
<span class="linenumber react-syntax-highlighter-line-number">16</span><span class="token"><</span><span class="token">?</span>php endif<span class="token">;</span> <span class="token">?</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">17</span>
<span class="linenumber react-syntax-highlighter-line-number">18</span><span class="token"><</span><span class="token">?</span>php <span class="token">wp_reset_query</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// بازنشانی حلقه وردپرس به حالت پیش‌فرض» ?></span>

پارامتر های مهم در تابع کوئری پست (query_posts) حلقه وردپرس چیست؟

برخی از پارامترهای مهمی که می‌توانید در تابع query_posts() استفاده کنید عبارتند از:

  • – p: شناسه پستی که می‌خواهید نمایش دهید. برای مثال، p=12 فقط پستی را نمایش می‌دهد که شناسه آن 12 است.
  • – name: نام منحصر به فرد پستی که می‌خواهید نمایش دهید. برای مثال، name=hello-world فقط پستی را نمایش می‌دهد که نام آن hello-world است.
  • – page_id: شناسه صفحه‌ای که می‌خواهید نمایش دهید. برای مثال، page_id=5 فقط صفحه‌ای را نمایش می‌دهد که شناسه آن 5 است.
  • – pagename: نام منحصر به فرد صفحه‌ای که می‌خواهید نمایش دهید. برای مثال، pagename=about-us فقط صفحه‌ای را نمایش می‌دهد که نام آن about-us است.
  • – cat: شناسه دسته‌بندی‌ای که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، cat=3 فقط پست‌هایی را نمایش می‌دهد که در دسته‌بندی با شناسه 3 قرار دارند.
  • – category_name: نام دسته‌بندی‌ای که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، category_name=wordpress فقط پست‌هایی را نمایش می‌دهد که در دسته‌بندی وردپرس قرار دارند.
  • – tag: نام برچسبی که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، tag=php فقط پست‌هایی را نمایش می‌دهد که برچسب php دارند.
  • – tag_id: شناسه برچسبی که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، tag_id=7 فقط پست‌هایی را نمایش می‌دهد که برچسب با شناسه 7 دارند.
  • – year: سالی که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، year=2023 فقط پست‌هایی را نمایش می‌دهد که در سال 2023 انتشار یافته‌اند.
  • – monthnum: ماهی که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، monthnum=4 فقط پست‌هایی را نمایش می‌دهد که در ماه 4 (آوریل) انتشار یافته‌اند.
  • – day: روزی که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، day=15 فقط پست‌هایی را نمایش می‌دهد که در روز 15 انتشار یافته‌اند.
  • – author: شناسه نویسنده‌ای که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، author=2 فقط پست‌هایی را نمایش می‌دهد که توسط نویسنده با شناسه 2 نوشته شده‌اند.
  • – author_name: نام نویسنده‌ای که می‌خواهید پست‌های آن را نمایش دهید. برای مثال، author_name=ali فقط پست‌هایی را نمایش می‌دهد که توسط نویسنده با نام ali نوشته شده‌اند.
  • – post_type: نوع پستی که می‌خواهید نمایش دهید. برای مثال، post_type=post فقط پست‌های معمولی را نمایش می‌دهد و post_type=page فقط صفحات را نمایش می‌دهد. شما می‌توانید از افزونه های پست سفارشی (Custom Post Type) نیز استفاده کنید. برای مثال، post_type=product فقط پست‌هایی را نمایش می‌دهد که نوع آن‌ها product است.
  • – post_status: وضعیت پستی که می‌خواهید نمایش دهید. برای مثال، post_status=publish فقط پست‌های منتشر شده را نمایش می‌دهد و post_status=draft فقط پست‌های پیش‌نویس را نمایش می‌دهد. شما می‌توانید از وضعیت‌های دیگری مانند pending، future و trash نیز استفاده کنید.

این فقط بخشی از پارامترهایی است که می‌توانید در تابع query_posts() استفاده کنید.

توج داشته باشید که می‌توان از چندین پارامتر به صورت همزمان در تابع کوئری پست query_posts() استفاده کرد. برای این کار، شما باید پارامترها را با علامت & از هم جدا کنید. برای مثال، اگر شما بخواهید فقط پست‌هایی را نمایش دهید که در دسته‌بندی وردپرس قرار دارند و توسط نویسنده با نام ali نوشته شده‌اند، می‌توانید از کد زیر استفاده کنید:

php
<span class="linenumber react-syntax-highlighter-line-number">2</span>
<span class="linenumber react-syntax-highlighter-line-number">3</span><span class="token"><</span><span class="token">?</span>php <span class="token">query_posts</span><span class="token">(</span> <span class="token">'category_name=wordpress&author_name=ali'</span> <span class="token">)</span><span class="token">;</span> <span class="token">// فیلتر کردن پست‌ها بر اساس دسته‌بندی وردپرس و نویسنده ali ?></span>
<span class="linenumber react-syntax-highlighter-line-number">4</span>
<span class="linenumber react-syntax-highlighter-line-number">5</span><span class="token"><</span><span class="token">?</span>php <span class="token">if</span> <span class="token">(</span> <span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">while</span> <span class="token">(</span> <span class="token">have_posts</span><span class="token">(</span><span class="token">)</span><span class="token">)</span> <span class="token">:</span> <span class="token">the_post</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// شروع حلقه وردپرس ?></span>
<span class="linenumber react-syntax-highlighter-line-number">6</span>
<span class="linenumber react-syntax-highlighter-line-number">7</span><span class="token">// کد‌های نمایش پست‌ها در اینجا قرار می‌گیرند.</span>
<span class="linenumber react-syntax-highlighter-line-number">8</span>
<span class="linenumber react-syntax-highlighter-line-number">9</span><span class="token"><</span><span class="token">?</span>php endwhile<span class="token">;</span> <span class="token">else</span> <span class="token">:</span> <span class="token">// پایان حلقه وردپرس و شروع بخش خطا ?></span>
<span class="linenumber react-syntax-highlighter-line-number">10</span>
<span class="linenumber react-syntax-highlighter-line-number">11</span><span class="token">// کد‌های نمایش پیغام خطا در صورت عدم وجود پست در اینجا قرار می‌گیرند.</span>
<span class="linenumber react-syntax-highlighter-line-number">12</span>
<span class="linenumber react-syntax-highlighter-line-number">13</span><span class="token"><</span><span class="token">?</span>php endif<span class="token">;</span> <span class="token">?</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">14</span>
<span class="linenumber react-syntax-highlighter-line-number">15</span><span class="token"><</span><span class="token">?</span>php <span class="token">wp_reset_query</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// بازنشانی حلقه وردپرس به حالت پیش‌فرض ?></span>

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

تابع wp_reset_query()‎ در انتهای کد مسئول بازنشانی حلقه وردپرس به حالت پیش‌فرض است. این تابع باید همیشه پس از استفاده از تابع کوئری پست، فراخوانی شود، تا از اختلال در حلقه‌های بعدی جلوگیری شود.

پیشنهاد مطالعه: بررسی علل‌های کندی پیشخوان وردپرس و روش‌های حل آن

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

حالا بیایید ببینیم که چندگانه بودنِ حلقه وردپرس چیست. گاهی اوقات، شما ممکن است بخواهید بیش از یک حلقه وردپرس را در یک صفحه داشته باشید. برای مثال، شما ممکن است بخواهید در صفحه اصلی وب‌سایت خود، یک حلقه وردپرس را برای نمایش پست‌های اخیر و یک حلقه وردپرس دیگر را برای نمایش پست‌های محبوب داشته باشید. در این صورت، شما باید از حلقه وردپرس چندگانه (Multiple WordPress Loop) استفاده کنید.

حلقه وردپرس چندگانه به شما امکان می‌دهد که چندین حلقه وردپرس را با شرط‌های مختلف در یک صفحه داشته باشید. برای ایجاد حلقه وردپرس چندگانه، شما باید از کلاس کوئری وردپرس (WP_Query) استفاده کنید. این کلاس به شما امکان می‌دهد که یک شیء از نوع حلقه وردپرس را با پارامترهای دلخواه ایجاد کنید و از آن برای نمایش پست‌ها استفاده کنید. برای مثال، اگر شما بخواهید در صفحه اصلی وب‌سایت خود، یک حلقه وردپرس را برای نمایش پست‌های اخیر و یک حلقه وردپرس دیگر را برای نمایش پست‌های محبوب داشته باشید، می‌توانید از کد زیر استفاده کنید:

PHP
<span class="linenumber react-syntax-highlighter-line-number">2</span>
<span class="linenumber react-syntax-highlighter-line-number">3</span><span class="token"><</span><span class="token">?</span>php <span class="token">get_header</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// فراخوانی فایل header.php ?></span>
<span class="linenumber react-syntax-highlighter-line-number">4</span>
<span class="linenumber react-syntax-highlighter-line-number">5</span>
<span class="linenumber react-syntax-highlighter-line-number">6</span>
<span class="linenumber react-syntax-highlighter-line-number">7</span>
<span class="linenumber react-syntax-highlighter-line-number">8</span><span class="token"><</span>div class<span class="token">=</span><span class="token">"container"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">9</span>
<span class="linenumber react-syntax-highlighter-line-number">10</span>  <span class="token"><</span>div class<span class="token">=</span><span class="token">"row"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">11</span>
<span class="linenumber react-syntax-highlighter-line-number">12</span>    <span class="token"><</span>div class<span class="token">=</span><span class="token">"col-md-8"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">13</span>
<span class="linenumber react-syntax-highlighter-line-number">14</span>      <span class="token"><</span>h3<span class="token">></span>پست‌های اخیر<span class="token"><</span><span class="token">/</span>h3<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">15</span>
<span class="linenumber react-syntax-highlighter-line-number">16</span>      <span class="token"><</span><span class="token">?</span>php $recent_posts <span class="token">=</span> <span class="token">new</span> <span class="token">WP_Query</span><span class="token">(</span> <span class="token">array</span><span class="token">(</span> <span class="token">'posts_per_page'</span> <span class="token">=</span><span class="token">></span> <span class="token">5</span> <span class="token">)</span> <span class="token">)</span><span class="token">;</span> <span class="token">// ایجاد یک شیء از نوع حلقه وردپرس برای نمایش 5 پست اخیر ?></span>
<span class="linenumber react-syntax-highlighter-line-number">17</span>
<span class="linenumber react-syntax-highlighter-line-number">18</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">if</span> <span class="token">(</span> $recent_posts<span class="token">-</span><span class="token">></span><span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">while</span> <span class="token">(</span> $recent_posts<span class="token">-</span><span class="token">></span><span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> $recent_posts<span class="token">-</span><span class="token">></span><span class="token">the_post</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// شروع حلقه وردپرس اول ?></span>
<span class="linenumber react-syntax-highlighter-line-number">19</span>
<span class="linenumber react-syntax-highlighter-line-number">20</span>        <span class="token"><</span>div class<span class="token">=</span><span class="token">"post"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">21</span>
<span class="linenumber react-syntax-highlighter-line-number">22</span>          <span class="token"><</span>h4 class<span class="token">=</span><span class="token">"post-title"</span><span class="token">></span><span class="token"><</span>a href<span class="token">=</span><span class="token">"<?php the_permalink(); // لینک پست ?>"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_title</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// عنوان پست ?></a></h4></span>
<span class="linenumber react-syntax-highlighter-line-number">23</span>
<span class="linenumber react-syntax-highlighter-line-number">24</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-meta"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">25</span>
<span class="linenumber react-syntax-highlighter-line-number">26</span>            <span class="token"><</span>span class<span class="token">=</span><span class="token">"post-date"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_time</span><span class="token">(</span> <span class="token">'j F Y'</span> <span class="token">)</span><span class="token">;</span> <span class="token">// تاریخ پست ?></span></span>
<span class="linenumber react-syntax-highlighter-line-number">27</span>
<span class="linenumber react-syntax-highlighter-line-number">28</span>            <span class="token"><</span>span class<span class="token">=</span><span class="token">"post-author"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_author</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// نویسنده پست ?></span></span>
<span class="linenumber react-syntax-highlighter-line-number">29</span>
<span class="linenumber react-syntax-highlighter-line-number">30</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">31</span>
<span class="linenumber react-syntax-highlighter-line-number">32</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-excerpt"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">33</span>
<span class="linenumber react-syntax-highlighter-line-number">34</span>            <span class="token"><</span><span class="token">?</span>php <span class="token">the_excerpt</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// نمایش گزیده پست ?></span>
<span class="linenumber react-syntax-highlighter-line-number">35</span>
<span class="linenumber react-syntax-highlighter-line-number">36</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">37</span>
<span class="linenumber react-syntax-highlighter-line-number">38</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-more"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">39</span>
<span class="linenumber react-syntax-highlighter-line-number">40</span>            <span class="token"><</span>a href<span class="token">=</span><span class="token">"<?php the_permalink(); // لینک پست ?>"</span> class<span class="token">=</span><span class="token">"btn btn-primary"</span><span class="token">></span>ادامه مطلب<span class="token"><</span><span class="token">/</span>a<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">41</span>
<span class="linenumber react-syntax-highlighter-line-number">42</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">43</span>
<span class="linenumber react-syntax-highlighter-line-number">44</span>        <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">45</span>
<span class="linenumber react-syntax-highlighter-line-number">46</span>      <span class="token"><</span><span class="token">?</span>php endwhile<span class="token">;</span> <span class="token">wp_reset_postdata</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// پایان حلقه وردپرس اول و بازنشانی پست فعلی ?></span>
<span class="linenumber react-syntax-highlighter-line-number">47</span>
<span class="linenumber react-syntax-highlighter-line-number">48</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">else</span> <span class="token">:</span> <span class="token">// شروع بخش خطا ?></span>
<span class="linenumber react-syntax-highlighter-line-number">49</span>
<span class="linenumber react-syntax-highlighter-line-number">50</span>        <span class="token"><</span>p<span class="token">></span>متاسفانه پستی برای نمایش وجود ندارد<span class="token">.</span><span class="token"><</span><span class="token">/</span>p<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">51</span>
<span class="linenumber react-syntax-highlighter-line-number">52</span>      <span class="token"><</span><span class="token">?</span>php endif<span class="token">;</span> <span class="token">?</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">53</span>
<span class="linenumber react-syntax-highlighter-line-number">54</span>
<span class="linenumber react-syntax-highlighter-line-number">55</span>
<span class="linenumber react-syntax-highlighter-line-number">56</span>
<span class="linenumber react-syntax-highlighter-line-number">57</span>      <span class="token"><</span>h3<span class="token">></span>پست‌های محبوب<span class="token"><</span><span class="token">/</span>h3<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">58</span>
<span class="linenumber react-syntax-highlighter-line-number">59</span>      <span class="token"><</span><span class="token">?</span>php $popular_posts <span class="token">=</span> <span class="token">new</span> <span class="token">WP_Query</span><span class="token">(</span> <span class="token">array</span><span class="token">(</span> <span class="token">'meta_key'</span> <span class="token">=</span><span class="token">></span> <span class="token">'views'</span><span class="token">,</span> <span class="token">'orderby'</span> <span class="token">=</span><span class="token">></span> <span class="token">'meta_value_num'</span><span class="token">,</span> <span class="token">'order'</span> <span class="token">=</span><span class="token">></span> <span class="token">'DESC'</span><span class="token">,</span> <span class="token">'posts_per_page'</span> <span class="token">=</span><span class="token">></span> <span class="token">5</span> <span class="token">)</span> <span class="token">)</span><span class="token">;</span> <span class="token">// ایجاد یک شیء از نوع حلقه وردپرس برای نمایش 5 پست محبوب بر اساس تعداد بازدید ?></span>
<span class="linenumber react-syntax-highlighter-line-number">60</span>
<span class="linenumber react-syntax-highlighter-line-number">61</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">if</span> <span class="token">(</span> $popular_posts<span class="token">-</span><span class="token">></span><span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> <span class="token">while</span> <span class="token">(</span> $popular_posts<span class="token">-</span><span class="token">></span><span class="token">have_posts</span><span class="token">(</span><span class="token">)</span> <span class="token">)</span> <span class="token">:</span> $popular_posts<span class="token">-</span><span class="token">></span><span class="token">the_post</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// شروع حلقه وردپرس دوم ?></span>
<span class="linenumber react-syntax-highlighter-line-number">62</span>
<span class="linenumber react-syntax-highlighter-line-number">63</span>        <span class="token"><</span>div class<span class="token">=</span><span class="token">"post"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">64</span>
<span class="linenumber react-syntax-highlighter-line-number">65</span>          <span class="token"><</span>h4 class<span class="token">=</span><span class="token">"post-title"</span><span class="token">></span><span class="token"><</span>a href<span class="token">=</span><span class="token">"<?php the_permalink(); // لینک پست ?>"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_title</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// عنوان پست ?></a></h4></span>
<span class="linenumber react-syntax-highlighter-line-number">66</span>
<span class="linenumber react-syntax-highlighter-line-number">67</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-meta"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">68</span>
<span class="linenumber react-syntax-highlighter-line-number">69</span>            <span class="token"><</span>span class<span class="token">=</span><span class="token">"post-date"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_time</span><span class="token">(</span> <span class="token">'j F Y'</span> <span class="token">)</span><span class="token">;</span> <span class="token">// تاریخ پست ?></span></span>
<span class="linenumber react-syntax-highlighter-line-number">70</span>
<span class="linenumber react-syntax-highlighter-line-number">71</span>            <span class="token"><</span>span class<span class="token">=</span><span class="token">"post-author"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token">the_author</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// نویسنده پست ?></span></span>
<span class="linenumber react-syntax-highlighter-line-number">72</span>
<span class="linenumber react-syntax-highlighter-line-number">73</span>            <span class="token"><</span>span class<span class="token">=</span><span class="token">"post-views"</span><span class="token">></span><span class="token"><</span><span class="token">?</span>php echo <span class="token">get_post_meta</span><span class="token">(</span> <span class="token">get_the_ID</span><span class="token">(</span><span class="token">)</span><span class="token">,</span> <span class="token">'views'</span><span class="token">,</span> <span class="token">true</span> <span class="token">)</span><span class="token">;</span> <span class="token">// تعداد بازدید پست ?></span></span>
<span class="linenumber react-syntax-highlighter-line-number">74</span>
<span class="linenumber react-syntax-highlighter-line-number">75</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">76</span>
<span class="linenumber react-syntax-highlighter-line-number">77</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-excerpt"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">78</span>
<span class="linenumber react-syntax-highlighter-line-number">79</span>            <span class="token"><</span><span class="token">?</span>php <span class="token">the_excerpt</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// نمایش گزیده پست ?></span>
<span class="linenumber react-syntax-highlighter-line-number">80</span>
<span class="linenumber react-syntax-highlighter-line-number">81</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">82</span>
<span class="linenumber react-syntax-highlighter-line-number">83</span>          <span class="token"><</span>div class<span class="token">=</span><span class="token">"post-more"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">84</span>
<span class="linenumber react-syntax-highlighter-line-number">85</span>            <span class="token"><</span>a href<span class="token">=</span><span class="token">"<?php the_permalink(); // لینک پست ?>"</span> class<span class="token">=</span><span class="token">"btn btn-primary"</span><span class="token">></span>ادامه مطلب<span class="token"><</span><span class="token">/</span>a<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">86</span>
<span class="linenumber react-syntax-highlighter-line-number">87</span>          <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">88</span>
<span class="linenumber react-syntax-highlighter-line-number">89</span>        <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">90</span>
<span class="linenumber react-syntax-highlighter-line-number">91</span>      <span class="token"><</span><span class="token">?</span>php endwhile<span class="token">;</span> <span class="token">wp_reset_postdata</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// پایان حلقه وردپرس دوم و بازنشانی پست فعلی ?></span>
<span class="linenumber react-syntax-highlighter-line-number">92</span>
<span class="linenumber react-syntax-highlighter-line-number">93</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">else</span> <span class="token">:</span> <span class="token">// شروع بخش خطا ?></span>
<span class="linenumber react-syntax-highlighter-line-number">94</span>
<span class="linenumber react-syntax-highlighter-line-number">95</span>       <span class="token"><</span>p<span class="token">></span>متاسفانه پستی برای نمایش وجود ندارد<span class="token">.</span><span class="token"><</span><span class="token">/</span>p<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">96</span>
<span class="linenumber react-syntax-highlighter-line-number">97</span>      <span class="token"><</span><span class="token">?</span>php endif<span class="token">;</span> <span class="token">?</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">98</span>
<span class="linenumber react-syntax-highlighter-line-number">99</span>    <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">100</span>
<span class="linenumber react-syntax-highlighter-line-number">101</span>    <span class="token"><</span>div class<span class="token">=</span><span class="token">"col-md-4"</span><span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">102</span>
<span class="linenumber react-syntax-highlighter-line-number">103</span>      <span class="token"><</span><span class="token">?</span>php <span class="token">get_sidebar</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// فراخوانی فایل sidebar.php ?></span>
<span class="linenumber react-syntax-highlighter-line-number">104</span>
<span class="linenumber react-syntax-highlighter-line-number">105</span>    <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">106</span>
<span class="linenumber react-syntax-highlighter-line-number">107</span>  <span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">108</span>
<span class="linenumber react-syntax-highlighter-line-number">109</span><span class="token"><</span><span class="token">/</span>div<span class="token">></span>
<span class="linenumber react-syntax-highlighter-line-number">110</span>
<span class="linenumber react-syntax-highlighter-line-number">111</span>
<span class="linenumber react-syntax-highlighter-line-number">112</span>
<span class="linenumber react-syntax-highlighter-line-number">113</span>
<span class="linenumber react-syntax-highlighter-line-number">114</span><span class="token"><</span><span class="token">?</span>php <span class="token">get_footer</span><span class="token">(</span><span class="token">)</span><span class="token">;</span> <span class="token">// فراخوانی فایل footer.php ?></span>

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

  • $recent_posts: این شیء یک حلقه وردپرس را برای نمایش 5 پست اخیر ایجاد می‌کند. ما از پارامتر posts_per_page برای مشخص کردن تعداد پست‌ها استفاده کرده‌ایم.
  • $popular_posts: این شیء یک حلقه وردپرس را برای نمایش 5 پست محبوب بر اساس تعداد بازدید ایجاد می‌کند. ما از پارامترهای meta_key، orderby، order و posts_per_page برای مشخص کردن معیارهای فیلتر کردن پست‌ها استفاده کرده‌ایم.

برای استفاده از این شیء‌ها، ما باید از متد‌های have_posts() و the_post() استفاده کنیم. این متد‌ها مشابه توابعی هستند که در حلقه وردپرس پیش‌فرض استفاده می‌شوند، با این تفاوت که باید به عنوان یک متد از شیء حلقه وردپرس فراخوانی شوند. برای مثال، $recent_posts->have_posts() و $recent_posts->the_post().

همچنین، ما باید پس از پایان هر حلقه وردپرس، از متد wp_reset_postdata() استفاده کنیم. این متد مسئول بازنشانی پست فعلی به پست اصلی است. این متد باید همیشه پس از استفاده از کلاس WP_Query فراخوانی شود، تا از اختلال در حلقه‌های بعدی جلوگیری شود. حالا متوجه شدیم چندگانه بودن حلقه وردپرس چیست و با استفاده از این کد، یک حلقه وردپرس چندگانه در وب‌سایت خود داشته باشیم که پست‌های اخیر و محبوب را به صورت زیر نمایش می‌دهد:

حلقه وردپرس

سخن پایانی

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

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

 

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

آموزش وردپرس با مکتب خونه

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

 

کامل بهرامی

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا