مشکل نمایش تعداد بازدید مطالب سایت

با سلام و عرض ادب

سال نو همگی مبارک

بنده برای نمایش بازدید نوشته ها و … در قالب سایتم از کد زیر استفاده کردم :

function get_post_view($post_id)
{
    if (intval($post_id)) {
        $post_view = get_post_meta($post_id, 'views', true);
        return intval($post_view);
    }
    return 0;
}
function set_post_view($post_id)
{
    if (intval($post_id)) {
        $views = get_post_view($post_id);
        $views++;
        update_post_meta($post_id, 'views', $views);
    }
} 

اما به دوتا مشکل بر خوردم ،

یک اینکه با افزونه راکت ناسازگاری داره ، یعنی برای اینکه بازدید هارو ثبت کنه هی باید توسط ادمین کش پاک بشه.

دوم اینکه میخوام وقتی تعداد بازدید ها به هزار رسید به جای نمایش 1024 به این گونه نمایش داده بشه : 1k

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

@Hosein
فکر میکنم حسین عزیز این قسمتیاری برسونن

2 پسندیده

سلام
جایگزین کن ؛

function set_post_views( $postID ) 
{
    $count_key = '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 );
        
    }
    
}
 
 
 function get_post_views( $postID )
 {
    $count_key = 'post_views_count';
    $count = get_post_meta( $postID, $count_key, true );
    if($count=='') 
    {
        delete_post_meta( $postID, $count_key );
        add_post_meta( $postID, $count_key, '0' );
        return "0 بازدید";
    }
 $count = str_replace(',', '', $count);
	if ( $count >= 1000 ) 
	{
		$count = number_format($count / 1000, 1) . 'K';
	}
	else if ( $count >= 1000000 ) 
	{
		$count = number_format($count / 1000000, 1) . 'M';
	}
	else if ( $count >= 1000000000 ) 
	{
		$count = number_format($count / 1000000000, 1) . 'B';
	}		
//	return $count;
 
 return $count.' بازدید';
}
5 پسندیده

واقعا ممنونتم آقا حسین عزیز

اما متاسفانه اضافه کردن این کد خطا ایجاد میکنه و مینویسه (خطای مهم در وب سایت)

چیکار کنم این مشکل و مشکل کش و راکت با این کد حل بشه ، بعضی مواقع بازدید ها ثبت نمیشه حتما باید توسط ادمین کش خالی بشه تا بازدید ها ثبت بشه

1 پسندیده

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

افزونه هایی مانند راکت و توتال کش و … این افزونه ها بطور کلی کد ها را بصورت استاتیک کش میکنن
و همونطور که گفتد باید کش دائما پاک شوند و مشکل بازدید ها که کش میشوند, ارتباطی به کد سمت سرور نداره
زیاد از این افزونه ها استفاده نکردم که ببینم اددان خاصی برای پاک کردن کش بصورت خودکار دارن یا نه
اما از نظر من بهترین افزونه برای بهینه سازی و فشرده سازی و همچنین کش کردن , افزونه wp-autoptimize هستش
محیط تنظیماتش کاملا راحت و ساده هست

4 پسندیده

کدی که شما فرستادید رو اضافه کردم اول اینکه خط اخر کد خطا میده حالا خودم یه { اضافه کردم خطاش رفع شد.
بعد فانکشن شمارو باید چجوری فراخوانی کنم؟
این افزونه تو ژاکت نیست از کجا میتونم خریداری کنم.

2 پسندیده

افزونه رایگانه
از مخزن وردپرس دانلود کن

2 پسندیده

با سلام و احترام
این فانکشن رو که به قالبمون اضافه کردیم چطوری تو قسمتی که میخوایم بازدید ها نمایش داده بشه فراخوانی کنیم؟