
یکی از بخش های مهم هر سایت، بدست آوردن آمار بازدید از مطالب منتشر شده و گاها نمایش آن است. این آمار را در وردپرس، می توان توسط افزونه هایی همچون post veiws و… به دست آورد. اما، امروز آموزشی را تدارک دیده ایم که توسط آن بدون نیاز به هیچ گونه افزونه، به راحتی قادر خواهید بود آمار بازدید از مطالب خود را بدست آورید.
برای این منظور، دوتابع را به صورت زیر تعریف می کنیم (این کدها را در فایل توابع (function.php) قالب خود قرار دهید):
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++;
// 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.' بازدید';
}این دو تابع با دریافت آی دی هر پست (با تابع get_the_ID که جلوتر به آن خواهیم رسید) به ترتیب کار ثبت و نمایش آمار بازدید از هر مطلب را انجام میدهند.
این دوتابع از شرط هایی ساده بهره گیری کرده اند، به عنوان نمونه، تابع set_post_views با استفاده از تابع پیشفرض وردپرسی get_post_meta آمار ثبت شده ی هر پست را در متغیر $count می ریزد و در صورت خالی نبودن متغیر، شرط دوم اجرا شده و یک واحد به آن اضافه می شود. سپس نوبت به روزرسانی اطلاعات آماری است که این کار هم توسط تابع update_post_meta انجام میگیرد.
جهت آشنایی با توابع پیشفرض استفاده شده می توانید مستندات وردپرس را مطالعه کنید:
- Function Reference/add post meta
- Function Reference/update post meta
- Function Reference/delete post meta
- Function Reference/get post meta
و اما در آخرین مرحله، لازم است تا توابع بالا را فراخوانی و سپس چاپ کنیم. پس به صورت زیر عمل کنید:
مرحله اول:
جهت ثبت اطلاعات، تابع زیر را داخل حلقه (while) در فایل تک نوشته ها (single.php) قرار دهید.
<?php set_post_views (get_the_ID()); ?>
مرحله دوم:
پس از ثبت آمار، نوبت به چاپ اطلاعات میرسد.
بنابراین، از قطعه کد زیر در مکانی که میخواهید اطلاعات آماری نمایش داده شود، استفاده کنید.
<?php echo get_post_views (get_the_ID()); ?>
و به همین سادگی کار به اتمام میرسد…
منبع : دنیای وردپرس و برنامه نویسی – www.alimir.ir
باعرض سلام وخسته نباشید خدمت شما . آقا علی چندتا درخواست ازتون داشتم .1- میشه قالب وب سایتتون رو بهم بدهید آخه خیلی از قالبتون خوشم میاد.2- از چه قالبی برای این بخش ABOUT.ALIMIR.IR استفاده می کنید؟ لطفا اگه میشه این قالب رو بهم بدید.لازم دونستم یکم از خودم بگم. رحمت حاجی سعدین هستم. در شهرستان اشنویه واقع در آذربایجان غربی زندگی میکنم . درضمن کرد (کورد) زبان هستم . 1 سالی میشه کارم رو با پی اچ پی و سی اس اس و …. شروع کرده ام . راستی داشت یادم می رفت که عید نوروز رو به شما تبریک بگویم. سال نو رو به شما وخانواده ی گرامی تان تبریک عرض می کنم.( جژنی نه وروز و سه ری سالی کوردی له ءوه و بنه ماله ی به ریز تان پیروز بیت) با تشــــــــــــــــکر رحمت حاجی سعدین
توسط رحمت حاجی سعدین
با عرض سلام و خسته نباشید خدمت شما آقا علی . یه درخواست ازتون داشتم میشه من هم از قالب وب ساییتتون برای سایتم استفاده کنم اگه میشه لطفا قالب رو بهم بدید از طریق ایمیلم. راستی داشت یادم می رفت که سال نو رو به شما وخانواده ی گرامی تان تبریک عرض بنمایم. سال نو رو به شما وخانواده ی گرامی تان تبریک عرض میکنم. به امـــــــــــــید اینکه قالب وب سایتتون رو به من هم بدهید تا من هم از قالبتون استفاده کنم . با تشــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــر
توسط رحمت حاجی سعدین
سلام آقای سعدین،
منم سال نو رو به شما و خانواده محترمتون تبریک میگم.
عذر میخوام، پوسته سایت ما اختصایه و امکانش نیست که به صورت رایگان قالب رو در اختیار شما بذاریم.
با احترامات…
توسط علی میرزائی
با تشکر فراوان
توسط طراحی سایت
با سلام خسته نباشید مخوستم ازشما دوتاسوال کنم به هرحال که هچکس جواب من را نداده شماهم اگه ندادید مشکل نداره به هرحال من خودم یک قالب طراحی کرد اما بعدش ام ابزارک غیر فعال شده وهم این کدهای که شما هم داید کارنمی کند ممنون میشم که مشکل من را حل کنید ممنون ازشما از سایت شما
توسط زمان الله
سلام،
1- برای فعال سازی بخش ابزارک ها، باید تابع register_sidebar رو در فایل functions و تابع dynamic_sidebar (به همراه نام آی دی) رو در فایل sidebar قرار بدید. (نمونه این کدها رو میتونید در مستندات و همینطور پوسته های پیشفرض وردپرس مشاهده کنید.)
2- منظورتون کدهای این آموزش؟!؟! مراحل رو به دقت پیاده سازی کنید، مشکلی نخواهید داشت.
توسط علی میرزائی
من همه کدهارو جاگذاری کردم
کد آخر رو که جاگذاری کردم مثلن هدر سایت
بدون شکل و شمایل بود
سپاس از آموزش خوبتون
اگر بخایم مثل سایت شما آمار بازدید دارای شکل و شمایل و اندازه فونت و رنگ باشه
باید چه کارهای دیگه ای باهاش انجام بدیم؟
توسط افتاب
مشکلی نیست، میتونید با css بهش استایل بدید.
توسط علی میرزائی
با سلام آموزش خوبی بود.
ولی اگر بخواهیم که تعدا بازدید هر مطلب در پنل وردپرس نمایش داده شود باید چیکار کنیم.به این صورت که وقتی به « همه ی نوشته ها » می رویم آنجا در مقابل عنوان هر مطلب تعدا دیدگاه را نشان می دهد و کاری کنیم که در همان جا تعداد بازدید هر مطلب و برگه را نیز نشان دهد
ممنون می شوم راهنمایی کنید
توسط سایان نت
سلام،
این مورد رو هم مدتی پیش در یک پست مجزا توضیح دادیم:
http://tiny.alimir.ir/Aaتوسط علی میرزائی
ممنون.ولی در لینکی که گذاشتید من آموزش مورد نطر را نتونستم پیدا کنم.حتی جستجو هم کردم ولی نیتجه ای نبود.میشه لینک خود آن مطلب را بدهید.با سپاس
توسط سایان نت
تشکر فراوان
توسط عباس
اگر امکان داره نحوه ساخت و کدنویسی قسمت نظرات مطالب رو آموزش بدهید ممنون…
توسط طاها
آقا ممنون بسیار عالی بود…
توسط طاها
بسیار عالی و ممنون
توسط طراحی وب سایت
پینگ: نمایش آمار بازدید از مطالب در پنل وردپرس | دنیای وردپرس و برنامه نویسی
سلام
من میخوام که آمار بازدید فقط در پنل مدیریت نشون داده بشه
این کد را باید کجای قالبم قرار بدم :
توسط مجید
سلام،
در اون حالت قضیه یه مقدار فرق میکنه، اما میشه با چند تابع ساده یک ستون در بخش “همه نوشته ها” ایجاد کرد و بازدید هر پست رو در سطر هر نوشته نمایش داد.
ایشالا اگه فرصتی شده در پستی جداگانه این رو مطرح میکنم 😉
توسط علی میرزائی
مرسی کاربردی بود
توسط armin
ham aliye ham mishe tosh dast burd. 🙂
توسط Z . G . K
جالب بود.
توسط برنامه نویس
سلام
من روی قالب سایتم از این کد استفاده کرده ام ففقط یک مشکلی دارم که تو سامانه پرسش و پاسخ مطرح کرده ام و اینجا هم مطرح میکنم چون خیلی ضروریه:
w3 total cache من ورژن ۰٫۹٫۲٫۱۱ است و تو تنظیمات یک سری آیتم های جدید اضافه شده است که تو آموزش هایی که در سایت ها هست ورن قدیمی این افزونه و این آیتم های جدید رو نداره حالا مشکل من با این افزونه این هست :
وقتی این افزونه رو فعال میکنم با مرورگر کروم یک صفحه باز می کنم و چندبار دکمه F5 رو میزنم به تعداد بازدید عدد اضاف می شود ولی در مرورگر فایرفاکس اینگونه نیست فقط یک بار تعداد بازدید را افزایش می دهد تازه اونم اگه کش مرورگر رو پاک کنم و وقتی این افزونه را غیرفعال میکنم در مرورگر فایرفاکس و کروم این مشکل وجود ندارد
چه تنظیمی باعث شده که با مرورگر فایرفاکس درست کار نکند ؟
الان این افزونه غیرفعال هست من چکار باید کنم
توسط مجید
سلام،
الان نمیدونم! باید بررسی کنم.
توسط علی میرزائی
دمتون گرم
توسط saeed
ممنون، آموزش جالبی بود.
اگه ممکنه باکس جستجوی سایتتون رو در نوار سمت چپ قرار بدید که توی تک نوشته ها هم امکان جستجو وجود داشته باشه.
ممنون
توسط airin
سلام،
ممنونم، چشم حتما به این مورد رسیدگی میکنم.
توسط علی میرزائی
آقا عالی بود . ممنون
توسط آرین
ممنونم، نظر لطفتونه…
توسط علی میرزائی
سلام
ممنون عالی هست
من یه چیزی میخوام که آمار بازدید رو فقط خودم بدونم یعنی کاربران نتونند ببینند ؟
چطور میشه اینکار رو کرد؟
توسط djmostafa
سلام،
اگه میخواید این مسأله تو تک نوشته ها باشه، با یک دستور ساده if میتونید مشخص کنید که آمار تنها برای مدیر وبسایت قابل مشاهده باشه.
توسط علی میرزائی
درود
اگه ممکنه دستور if رو بهش اضاف کنید و کدی که باید تو single.php بکار ببرم رو بدین تا اضاف کنم
توسط djmostafa
سلام،
به عنوان نمونه میتونید مستندات وردپرس رو مطالعه کنید:
http://codex.wordpress.org/Function_Reference/is_user_logged_inتوسط علی میرزائی