رفتن به مطلب

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


پست های پیشنهاد شده

سلام

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

من دنبال افزونه ای هستم که بازدیدهای سایت را نشون بده و کدی داشته باشه که پربازدیترین های هفته و ماه را هم نشون بده اما این بر اساس بازدید باشه نه نظرات

اگر مجانی باشه که هیچ اگر هم شامل هزینه میشه پرداخت می کنم اما شدیدا لازمش دارم ممنون میشم راهنماییم کنید

ویرایش شده توسط farshadvl
لینک به ارسال

ببینید ، بیائید منطق این کار رو درک کنید .

اصولاً برای شمارش بازدید یک فیلد (حالا اینجا یک متاتگ وردپرس ، یا همون زمینه دلخواه شما) ، در نظر گرفته میشه که عدد بازدید رو توش دخیره میکنن و با هر بازدید اضافه میکنن .

دیگه اطلاعاتی چون تاریخ بازدید رو ذخیره نمیکنن که مثلاً بشه فهمید هر هفته چند نفر بازدید کردن و اینا .

اینکه بخواید پربازدیدترین های هر هفته و ماهانه رو نشون بدید باید افزونه ای بنویسید که هر بازدید بازدید کننده رو بعنوان یک رکورد ثبت کنید (یه کاری مثل افزونه statpresscn) که بتونید بعداً روزانه ، ماهانه و سالانه رو ازش در بیارید .

من کلاً 25 تا مطلب توی وبلاگم دارم اما حجم دیتابیسم 6 مگ هست .

خب فرض کنید روزانه 100 مطلب شما مورد بازدید قرار میگیره ، ماهانه میشه 3000 رکورد توی دیتابیس!

حالا برای یک سال رو در نظر بگیر .

در نهایت مجبور میشی که روزی از نشون دادن اون اطلاعات صرفه نظر کنی و پاکش کنی .

پس بهتره این قابلیت رو بیخیال بشی چون ارزشش رو نداره .

موفق باشید

لینک به ارسال

مصطفی جان من همه این مطالب رو دیدم اینا بدردم نمیخوره.

به هر حال ممنون رضا جان پس بیخیالش میشم

اما نیوک 8.3 این قسمت را داره حالا چجوری نمیدونم.

تهران موزیک را ببینید متوجه میشید چی میگم

لینک به ارسال

سلام

پربازدیدترین های هفته - البته این کدی که من میزارم مال یک دسته ی خاصه که میتونی خودت ویرایشش کنی

اون عدد (-7) که توی کد وجود داره مقدار روزیه که میتونی خودت هرچقدر میخوای تغییرش بدی ! 30 کنی مال یک ماهو نشون میده


<ul>

<?php
function filter_where($where = '') {
//posts in the last 30 days
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-7 days')) . "'";
return $where;
}
add_filter('posts_where', 'filter_where');

query_posts('cat=66&post_type=post&posts_per_page=10&orderby=comment_count&order=DESC');

while (have_posts()): the_post(); ?>

<li><a href="<?php the_permalink(); ?>" title="<?php printf(esc_attr('Permalink to %s'), the_title_attribute('echo=0')); ?>" rel="bookmark"><?php the_title(); ?></a></li>

<?php
endwhile;
wp_reset_query();
?>

</ul>

البته از اینم میتونی برای یک ماه استفاده کنی


<ul>
<?php $last_month = date("m", strtotime("-0 month")); ?>
<?php $recent = new WP_Query("cat=66&showposts=10&monthnum=$last_month&v_sortby=views&v_orderby=desc"); while ($recent->have_posts()) : $recent->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; wp_reset_query(); ?>
</ul>

من خودم خیلی دنبال این کد بودم و چنتارو با هم قاطی کردم تا بالاخره این کد از توش در اومد :blink:

یا علی

ویرایش شده توسط jc313
لینک به ارسال

همینجوری کپی پیست میکنید ؟؟؟؟؟؟؟؟


cat=66&post_type=post&posts_per_page=10&orderby=comment_count&order=DESC

10 مطلب دسته 66 که بر اساس تعداد نظرات منظم شدن . این الان بیشترین بازدیده ؟؟؟؟؟؟؟؟؟

دومی هم همینطور :angry:

اما نیوک 8.3 این قسمت را داره حالا چجوری نمیدونم.

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

لینک به ارسال

همینجوری کپی پیست میکنید ؟؟؟؟؟؟؟؟


cat=66&post_type=post&posts_per_page=10&orderby=comment_count&order=DESC

10 مطلب دسته 66 که بر اساس تعداد نظرات منظم شدن . این الان بیشترین بازدیده ؟؟؟؟؟؟؟؟؟

دومی هم همینطور :angry:

استاد! سلام! خب به جای اینهمه توضیح شما کدو درست میکردی دیگه! من معذرت میخوام کد یه خرده مشکل داشت

این کد زیر دیگه انشاا... پربازدیدترین های دسته 6 توی بازه زمانی 7 روز رو نشون میده! من خودم از این کد دارم استفاده میکنم الان


<ul>

<?php
function filter_where($where = '') {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-7 days')) . "'";
return $where;
}
add_filter('posts_where', 'filter_where');

query_posts('cat=66&post_type=post&posts_per_page=10&v_sortby=views&v_orderby=desc');

while (have_posts()): the_post(); ?>

<li><a href="<?php the_permalink(); ?>" title="<?php printf(esc_attr('Permalink to %s'), the_title_attribute('echo=0')); ?>" rel="bookmark"><?php the_title(); ?></a></li>

<?php
endwhile;
wp_reset_query();
?>

</ul>

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

یا علی

لینک به ارسال

آقا اين افزونه خيلي خوبه

من باهاش كار كردم ( پربازديد ترين مطالب روز ، هفته ، ماه ، سال و تمام مطالب رو مي توني باهاش نشون بدي )

Wordpress Popular Posts

لینک به ارسال
  • 5 سال بعد...

سلام و عرض ادب

من از این کدی که فرمودید استفاده کردم اما مشکل اینجاست که روی بقیه بخش های سایت نیز تاثیر میزاره و باعث میشه

هیچ پستی توی سایت نمایش داده نشه!

برای بیشتر متوجه شدن

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

وقتی این کد را اضافه میکنم

باعث میشه بقیه پست ها توی دسته بندی مختلف از کار بیوفته

	<div class="bg-light text-dark py-0">
		<div class="container">
			<div class="row">			
    <?php
    function filter_where($where = '') {
    $where .= " AND post_date > '" . date('Y-m-d', strtotime('-7 days')) . "'";
    return $where;
    }
    add_filter('posts_where', 'filter_where');
    query_posts('post_type=post&posts_per_page=4&v_sortby=views&v_orderby=desc');
    while (have_posts()): the_post(); ?>
    <div class="my-3 col-12 col-sm-6 col-lg-3 col-xl-3 col-md-6">
						<div class="card">
							<div class="card-header bg-primary text-white text-right"><?php echo wp_trim_words( get_the_title(), 5, '...' ); ?></div>
								<div class="mx-auto img-fluid" >
								<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" >
								<?php $default_attr = array('class' => "img-fluid", 'alt' => get_the_title(), 'title' => get_the_title()); the_post_thumbnail( 'full', $default_attr ); ?>
								</a>
								</div>
							<div class="card-body">
								<h6 class="card-subtitle text-muted text-right"><?php echo timeago(); ?></h6>
								<p class="card-text p-y-1 text-right"><?php echo wp_trim_words( get_the_content(), 12, '...' ); ?></p>
								<a href="<?php the_permalink() ?>" class="card-link">دريافت</a>
							</div>
						</div>
					</div>
    <?php endwhile; wp_reset_query(); ?>
			</div>
		</div>
	</div>

 

لینک به ارسال
  • 2 هفته بعد...

وقتی از تابع posts_where استفاده میشه و اون رو هوک می کنید، باید بعد از خروجی هاتون، این تابع رو ریست کنید، یک راهش:

remove_filter( 'posts_where', 'filter_where' );

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...