آموزش نمایش پست های هفته اخیر در وردپرس
- آموزش • آموزش وردپرس
- ۱۵ فروردین ۱۴۰۲
- 1,180 بازدید
نمایش پست های هفته اخیر از آن دست ویژگیهایی است که اضافه کردن آن به قالب وردپرس میتواند به کاربر در پیدا کردن پستهای اخیرا منتشرشده کمک کند. میتوانید بخشی را به قالب خود اضافه کنید که پستهای هفته قبل وردپرس را نمایش میدهد.
قبل از اینکه نحوه نمایش پست های هفته اخیر را بررسی کنیم، اجازه دهید ابتدا نگاهی به نحوه نمایش پستهای هفته جاری به کمک WP_Query بیاندازیم؛ با اضافه کردن قطعه کد زیر به فایل functions.php قالب میتوانید این کار را انجام دهید. توصیه میکنیم که جهت جلوگیری از بروز هرگونه مشکل، آموزش افزودن کد به سایت وردپرسی را مطالعه فرمائید.
function vebeet_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 vebeet_this_week(); ?> را در فایل قالب خود جایی که میخواهید پستها را نمایش دهید، اضافه کنید.
اکنون برای نمایش پستهای هفته گذشته، 1 را از مقدار week کم کنید. اما اگر این هفته اول سال باشد، به جای سال گذشته، مقدار 0 برای week و سال جاری دریافت خواهید کرد.
function vebeet_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; }
در نمونه کد بالا دو شرط قرار دادهایم. شرط اول مقدار lastweek را روی 52 (که آخرین هفته در یک سال است) زمانی که مقدار thisweek 1 است تعیین میکند. شرط دوم مقدار year را به سال گذشته تنظیم میکند زمانی که مقدار lastweek برابر با 52 میباشد.
برای نمایش پستهای هفته گذشته تنها کاری که باید انجام دهید این است که <?php vebeet_last_week_posts(); ?> به فایل قالب خود یعنی جایی که میخواهید آنها را در آنجا نمایش دهید، اضافه کنید.
اگر این مقاله برای شما در نمایش پست های هفته اخیر مفید بود، آن را برای دوستان خود نیز ارسال کنید. شاد باشید.