با سلام خدمت دوستان عزیز وردپرسی!

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

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

last-week

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

برای این منظور کافی‌است تا ابتدا کدهای زیر را در فایل فانکشن (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;
}

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

<?php wpb_this_week(); ?>

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

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;
}

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

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

add_shortcode('lastweek', 'wpb_last_week_posts');

و یا اینکه از شورت کد زیر در ابزارک، نوشته و یا برگه استفاده کنید.

[lastweek]

منبع: wpbeginner

شاد باشید..

امتیاز شما از 1 تا 5
1 ستاره میدم به نوشته2 ستاره میدم به نوشته3 ستاره میدم به نوشته4 ستاره میدم به نوشته5 ستاره میدم به نوشته
Loading...