کدهای وردپرس

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

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

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

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

نمایش نوشته های هفته گذشته در وردپرس

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

اکنون به هاست خود رفته و در مسیر نصب وردپرس به آدرس wp-content/themes مراجعه نمایید و پوشه قالب نصبی خود را باز کنید.

در این پوشه فایلی با عنوان functions.php وجود دارد، برای نمایش نوشته های هفته گذشته در وردپرس این فایل را ویرایش کرده و قطعه کد زیر را در جای مناسبی از آن قرار دهید.

function wpn_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=" پیوند دائمی به <?php the_title(); ?> "><?php the_title(); ?></a></h2>

     <?php the_excerpt(); ?>

  <?php endwhile; ?>

  <?php wp_reset_postdata(); ?>

<?php else:  ?>

  <p><?php _e( 'متاسفیم, هیچ پستی با معیارهای شما مطابقت ندارد.' ); ?></p>

<?php endif;

}

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

این مطلب را از دست ندهید :
جلوگیری از هک وردپرس با غیرفعال کردن اجرای فایل php در پوشه wp-content

اکنون در وردپرس باید <?php wpn_this_week(); ?> را در هر جایی که می خواهید نوشته های هفته گذشته نمایش داده شوند، اضافه کنید.

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

function wpn_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=" پیوند دائمی به <?php the_title(); ?> "><?php the_title(); ?></a></h2>

    <?php the_excerpt(); ?>

  <?php endwhile; ?>

  <?php wp_reset_postdata(); ?>

<?php else:  ?>

  <p><?php _e( ' متاسفیم, هیچ پستی با معیارهای شما مطابقت ندارد.' ); ?></p>

<?php endif; 

}

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

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

برای نمایش نوشته های هفته گذشته در وردپرس باید از کد <?php wpn_last_week_posts();?> در فایل قالب خود و یا هر جایی که تمایل دارید استفاده نمایید.

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

add_shortcode('lastweek', 'wpn_last_week_posts');

اکنون با قرار دادن کد کوتاه زیر در ابزاک ها یا نوشته های خود، نوشته های هفت روز گذشته شما به نمایش درخواهد آمد.

[lastweek]

عاطفه نوربخش

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

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

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

وردپرس نارنجی در جشنواره وب و موبایل ایران شرکت کرده است.به این وب سایت رای دهید
+
بستن