رفتن به مطلب

اصلاح یک تابع برای کمتر کردن حجم دیتابیس


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

درود و وقت بخیر

 

دوستان تابع زیر برای ضبط تعداد نمایش پست ها بکار میره

می خواهم طوری بشه که فقط تعداد نمایش های مطالب یک دسته رو بشماره و برای اینکه حجم دیتابیس زیاد نشه اطلاعات 20 روز آخر رو فقط نگه داره و بقیه رو حذف کنه

ممنون میشم راهنمایی کنید

function wpb_set_post_views($postID) {
    $count_key = 'wpb_post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}
//To keep the count accurate, lets get rid of prefetching
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

 

منبع کد: http://www.wpbeginner.com/wp-tutorials/how-to-track-popular-posts-by-views-in-wordpress-without-a-plugin/

لینک به ارسال
در 4 دقیقه قبل، Fara-MarZ گفته است :

درود و وقت بخیر

 

دوستان تابع زیر برای ضبط تعداد نمایش پست ها بکار میره

می خواهم طوری بشه که فقط تعداد نمایش های مطالب یک دسته رو بشماره و برای اینکه حجم دیتابیس زیاد نشه اطلاعات 20 روز آخر رو فقط نگه داره و بقیه رو حذف کنه

ممنون میشم راهنمایی کنید


function wpb_set_post_views($postID) {
    $count_key = 'wpb_post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}
//To keep the count accurate, lets get rid of prefetching
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

 

منبع کد: http://www.wpbeginner.com/wp-tutorials/how-to-track-popular-posts-by-views-in-wordpress-without-a-plugin/

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

اصلا حجمی توی دیتابیستون نمیگیره.

ویرایش شده توسط mehran-b
  • امتیاز 1
لینک به ارسال
در 1 دقیقه قبل، mehran-b گفته است :

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

اصلا حجمی توی دیتابیستون نمیگیره.

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

 

من فقط برای یه دسته بندی لازمش دارم ، میشه اصلاحش کرد تا برای فقط همون دسته بندی اجرا بشه؟

لینک به ارسال
function wpb_set_post_views($postID) {
	if(in_category(آیدی دسته مورد نظر)) :
		$count_key = 'wpb_post_views_count';
		$count = get_post_meta($postID, $count_key, true);
		if($count==''){
			$count = 0;
			delete_post_meta($postID, $count_key);
			add_post_meta($postID, $count_key, '0');
		}else{
			$count++;
			update_post_meta($postID, $count_key, $count);
		}
	endif;
}
//To keep the count accurate, lets get rid of prefetching
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

 

ویرایش شده توسط mehran-b
  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...