رفتن به مطلب

امار هر پست به صورت مجزا


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

سلام دوستان وقتتون بخیر

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

بیشتر برام تعداد افراد انلاین مهمه

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


//# nomber show post
function set_post_views( $postID )
{
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
// delete old 'post_views_count' value.
delete_post_meta( $postID, $count_key );
// add new 'post_views_count' value.
add_post_meta( $postID, $count_key, '0' );
} else {
$count=$count+1;
// update old 'post_views_count' value.
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 old 'post_views_count' value.
delete_post_meta( $postID, $count_key );
// add new 'post_views_count' value.
add_post_meta( $postID, $count_key, '0' );
return "0 بازدید";
}
return $count.' بازدید';
}

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

من چند تا اسکریپت دیدم که ساده هم بودن مثل این سایت که بدون دیتابیس کار میکنه و اطلاعاتو رو دو تا فایل text ذخیره میکنه

که کداش به صورت زیره


<?php
//اختلاف زمانی سرور
$time_zone = '12600';
//تاریخ امروز
$today = date("Y-m-d", time()+$time_zone);
//تاریخ دیروز
$yesterday = date("Y-m-d", time()-86400+$time_zone);
//آدرس فایل
$file_src = 'visit-stats.txt';
chmod($file_src, 0755);
//خواندن فایل
$read_file = file_get_contents($file_src);
//اگر فایل خالی نبود
if (filesize($file_src) > 0 || $read_file != ''){
$split_file = explode('|', $read_file);
//print_r($split_file);
$modify = $split_file[3];
//اگر تاریخ آخرین ویرایش برابر تاریخ امروز نبود
if($modify != $today){
$today_visit = 1;
$yesterday_visit = $split_file[0];
$total_visit = $split_file[2] + 1;
$last_modify = $today;
}
//اگر تاریخ آخرین ویرایش برابر امروز بود
else{
$today_visit = $split_file[0] + 1;
$yesterday_visit = $split_file[1];
$total_visit = $split_file[2] + 1;
$last_modify = $today;
}
}
//اگر فایل خالی بود
else{
$today_visit = 1;
$yesterday_visit = 0;
$total_visit = 1;
$last_modify = $today;
}
//نوشتن آمار جدید در فایل
$file_src_handle = fopen($file_src, 'w+');
$visit_data = $today_visit.'|'.$yesterday_visit.'|'.$total_visit.'|'.$last_modify;
fwrite($file_src_handle, $visit_data);
fclose($file_src_handle);
//محاسبه تعداد کاربران آنلاین
$config_array = array(
'user_time' => date("YmdHis", time()+$time_zone),
'user_ip' => $_SERVER['REMOTE_ADDR'],
'file_name' => 'visit-online.txt'
);
chmod($config_array['file_name'], 0755);
//خواندن اطلاعات فایل
$online_file = file_get_contents($config_array['file_name']);
//تجزیه به آرایه
$online_file = explode("\r\n", $online_file);
//حذف مقادیر خالی
foreach($online_file as $key=> $value){
if(is_null($value) || $value == ''){
unset($online_file[$key]);
}
}
//حذف آی پی های قدیمی و آی پی فعلی
foreach($online_file as $key=> $value){
$user_ip_time = explode("|", $value);
if($user_ip_time[1] <= date("YmdHis", time()+$time_zone - 300)){
unset($online_file[$key]);
}
if($user_ip_time[0] == $config_array['user_ip']){
unset($online_file[$key]);
}
}
//محاسبه تعداد افراد آنلاین
$online = 1;
foreach($online_file as $online_users){
$user_ip_time = explode("|", $online_users);
if($user_ip_time[1] >= date("YmdHis", time()+$time_zone - 300)){
$online++;
}
}
//آمار کاربرانی که آنلاین هستند به اضافه کاربر فعلی
$new_online = $config_array['user_ip'] . "|" . $config_array['user_time'] . "\r\n";;
foreach($online_file as $key=> $value){
$new_online .= $value . "\r\n";
}
//نوشتن آمار جدید در فایل
$file_src_handle = fopen($config_array['file_name'], 'w+');
fwrite($file_src_handle, $new_online);
fclose($file_src_handle);
////////////////* http://webgoo.ir *///////////////
//گرفتن خروجی
echo "<div class=\"stats\">
» بازدید امروز: $today_visit <br />
» بازدید دیروز: $yesterday_visit <br />
» افراد آنلاین: $online <br />
» بازدید کل: $total_visit
</div>";
?>

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

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

خواهش می کنم اگه امکانش هست کمکم کنید

لینک به ارسال

درود.

ببینید نشان دادن آمار افزاد آنلاین برای کل سایت محسابه میشه و برای (کدی که بالا گذاشتید) و برای هر پست نشان می خوایید بدید ؟

با افزونه WP-Parsi Statistics می توانید انجام بدید کد های آمار مورد نظر را به مکان مورد نظر لود کنید.

لینک به ارسال

درود.

ببینید نشان دادن آمار افزاد آنلاین برای کل سایت محسابه میشه و برای (کدی که بالا گذاشتید) و برای هر پست نشان می خوایید بدید ؟

با افزونه WP-Parsi Statistics می توانید انجام بدید کد های آمار مورد نظر را به مکان مورد نظر لود کنید.

ممنون که توجه کردی

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

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

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

wp-parsi-statistics

از توابعی که معرفی شده استفاده کنید برای صفحه اصلی کد تابع های مورد نظر را در فایل index و برای صفحه مطالب در single قرار بدید.

لینک به ارسال

wp-parsi-statistics

از توابعی که معرفی شده استفاده کنید برای صفحه اصلی کد تابع های مورد نظر را در فایل index و برای صفحه مطالب در single قرار بدید.

ممنون دوست من

شرمندم به خدا ولی هر کدومو اتحان کردم ارور میده

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

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

لینک به ارسال

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

اگر می خوایید از توابع استفاده کنید فعلا می توانید به روش زیر انجام بدید(تا آپدیت جدید افزونه)

مثلا تعداد بازدید امروز پست :


<?php
$s=new get_post_statistic_val;;
echo $s->wpp_get_year_post_visit(); ?>

به جای تابع


wpp_get_year_post_visit

تابع مورد نظر را بزارید (توابع پست ها)

لینک به ارسال

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

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

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

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

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

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

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

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

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