یکی از بخش های مهم هر سایت، بدست آوردن آمار بازدید از مطالب منتشر شده و گاها نمایش آن است. این آمار را در وردپرس، می توان توسط افزونه هایی همچون 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()); ?>
و به همین سادگی کار به اتمام میرسد.
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید