اگر از دنبال کنندگان همیشگی 20اسکریپت بوده باشید در مقالات پیشین به نحوه نمایش آخرین مطالب در وردپرس پرداختم، حال در این آموزش قصد دارم تا به نحوه نمایش مطالب هفته اخیر در وردپرس بپردازم، پس تا انتها همراه باشید.
آموزش نمایش مطالب هفته اخیر در وردپرس
برای این منظور کافیاست تا ابتدا کدهای زیر را در فایل فانکشن (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]
موفق باشید
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید