نمایش مطالب هفته اخیر در وردپرس

0 / 5. تعداد رای: 0

نمایش مطالب هفته اخیر در وردپرس
نمایش مطالب هفته اخیر در وردپرس

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

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

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

نمایش مطالب هفته اخیر در وردپرس

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

برای این کار شما احتیاج به یک قطعه کد دارید که ما در اینجا در اختیار شما قرار داده‌ایم و تنها کاری که شما باید انجام دهید این است که وارد پیشخوان» نمایش» ویرایشگر پوسته شوید و کد زیر را در فایل functions.php قرار دهید:

function wpb_this_week() { 
$week = date('W');
$year = date('Y');
$the_query = new WP_Query( 'year=' . $year . '&w=' . $week );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
 <?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;



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

در مرحله بعدی شما باید تصمیم بگیرید که می‌خواهید نوشته‌های شما در کدام قسمت از قالب سایتتان به نمایش در بیاید و قطعه کد زیر را در همان مکان موردنظر جایگذاری کنید:

<?php wpb_this_week(); ?>

اگر هفته جاری اولین هفته سال باشد چه کنیم؟

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

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

شما برای رفع این مشکل نیاز به قطعه کد زیر دارید، این کد را نیز باید مانند مورد قبلی، به فایل functions.php اضافه کنید:

function wpb_last_week_posts() { 
$thisweek = date('W');
if ($thisweek != 1) :
$lastweek = $thisweek - 1;   
else : 
$lastweek = 52;
endif; 
$year = date('Y');
if ($lastweek != 52) :
$year = date('Y');
else: 
$year = date('Y') -1; 
endif;
$the_query = new WP_Query( 'year=' . $year . '&w=' . $lastweek );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
 <?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;

}

در این کد، بررسی در دو مکان قرار داده شده است، اولین بررسی زمانی است که ارزش هفته جاری یک است که در این صورت ارزش هفته گذشته برابر با 52 می‌باشد، دومین بررسی نیز مربوط به زمانی است که ارزش هفته جاری 52 است که در این صورت ارزش سال، به سال گذشته تبدیل می‌شود.

نمایش مطالب در مکان مورد نظر

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

<?php wpb_last_week_posts();?>

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

add_shortcode('lastweek', 'wpb_last_week_posts');

شما می‌توانید از این کد کوتاه در یک نوشته یا صفحه یا ابزارک استفاده کنید: [lastweek]

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

به‌بیان‌دیگر شما با افزودن CSS اضافی، دلخواه خود می‌توانید این موارد را به‌دلخواه خود تغییر دهید و مطابق با نیاز سایت و سازگاری قالب مورد استفاده بر روی سایت از آن‌ها نهایت استفاده را ببرید.

امیدواریم این مقاله برای شما مفید واقع شده باشد، موفق و سربلند باشید. 🙂

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U22248 ۳۰ تیر ۱۳۹۸

    با سلام به چه صورت میتونم پست هامو مانند شما شکیل و زیبا نمایش بدهم .. با چه افزونه ای کار کردین ؟

    • تیم پشتیبانی تیم پشتیبانی ۳۰ تیر ۱۳۹۸

      سلام با افزونه نیست با برنامه نویسی هست. توی دوره صفر تا صد طراحی سایت توضیح داده شده.

      • U22248 ۲ مرداد ۱۳۹۸

        با عرض سلام و خسته نباشید . فونت iransan را توی سایت شما دارین

        • تیم پشتیبانی تیم پشتیبانی ۲ مرداد ۱۳۹۸

          خیر باید از سایت اصلی خریداری کنید. در صورتی که قالبی از ما دریافت کنید روی قالب ها موجود هست.