رفتن به مطلب

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


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

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

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

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

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


//# 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 می توانید انجام بدید کد های آمار مورد نظر را به مکان مورد نظر لود کنید.

  • امتیاز 2
لینک به ارسال

درود.

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

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

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

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

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

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

wp-parsi-statistics

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

  • امتیاز 3
لینک به ارسال

wp-parsi-statistics

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

ممنون دوست من

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

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

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

لینک به ارسال

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

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

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


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

به جای تابع


wpp_get_year_post_visit

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

  • امتیاز 4
لینک به ارسال

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

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



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