نمایش مطالب پربازدید وردپرس براساس زمان دلخواه
در مقاله از سایت نمایش مطالب پربازدید وردپرس در قالب رو آموزش خواهیم داد.
احتمالا در برخی از سایت دیده اید که در ساید بار یا نقاط دیگر قالب محبوب ترین مطالب رو نمایش میدند.
توابع که معرفی میکنیم بازدید هایی که توسط افزونه WP-PostViews شمارش شده در زمان و تاریخی که مشخص میکند،
نمایش خواهد داد تا وبمستر بتواند در کوئری های تولید شده قالب وردپرس استفاده کنند.
افزونه وردپرس wp-postviews
برای شمارش تعداد بازدید مطالب وردپرس بهترین کار استفاده از افزونه وردپرس wp-postviews می باشد.
پرس و جو ای که کدهای زیر میبنید پست هایی که بیشترین بازدید در زمان تعیین شده را داشته باشد نمایش میدهند.
توجه کنید که اگر افزونه wp-postview رو نصب نکرده باشید مطالب نمایش داده نخواهند شد.
نکته ای دیگر این است که اگر در بازه تعیین شده مطلبی منتشر نکرده باشد،
در نتیجه مطالب محبوب در آن بازه نیز نمایش داده نمی شوند.
مثلا برای نمایش مطالب محبوب یا پربازدید هفته باید در هفت روز گذشته نوشته جدید منتشر کرده باشید.
برای نمایش محبوب ترین مطالب کد زیر را در محل دلخواه از قالب وردپرس تان قرار دهید.
<?php $today = getdate(); $arms = array( 'post_type'=>'post','posts_per_page'=>'10','offset'=>'0', 'meta_key'=>'views','orderby'=>'meta_value_num', 'order'=>'DESC','post_status'=>'publish', 'date_query'=> array( array('column' =>'post_date_gmt','after' =>'3 month ago'))); $the_query = new WP_Query( $arms ); ?> <?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> <li><a href="<?php esc_url(the_permalink()); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> <?php endwhile; wp_reset_postdata(); else : ?> <?php _e( 'متاسفم مطلبی برای نمایش وجود ندارد' ); ?> <?php endif; ?>
با مشخص کردن مقدار views برای متغییر meta_key به کوئری میفهمانیم که میخواهیم مطالب را بر اساس بازدید نمایش دهد،
با استفاده از آرایه date_query زمان یا تاریخ مورد نظر را مشخص میکنیم.
تعیین زمان دلخواه برای نمایش در بازه زمانی خاص
با تغییر مقدار متغییر after می توانیم زمان های مختلف از یک روز تا چند سال گذشته را جهت نمایش نوشته ها تعیین کنیم.
'after' =>'3 day ago', بعد از یک روز 'after' => '1 week ago', بعد از یک هفته 'after' => '1 month ago', بعد از یک ماه 'after' => '1 year ago', بعد از یک سال
موفق و پیروز باشید…
این افزونه با وردپرس ۵٫۲٫۲ هماهنگه؟ یا تست شده قبلا؟
با سلام
مشکلی نداره تست شده