رفتن به مطلب

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


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

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

 

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

می خواهم طوری بشه که فقط تعداد نمایش های مطالب یک دسته رو بشماره و برای اینکه حجم دیتابیس زیاد نشه اطلاعات 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 دقیقه قبل، 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
لینک به ارسال

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

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

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

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

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

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

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

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

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