functions.php
<?php /************************************CODE-1*************************************** * @Author: Boutros AbiChedid * @Date: January 16, 2012 * @Websites: http://bacsoftwareconsulting.com/ ; http://blueoliveonline.com/ * @Description: Displays the Number of times Posts are Viewed on Your Blog. * Function: Sets, Tracks and Displays the Count of Post Views (Post View Counter) * Code is browser and JavaScript independent. * @Tested on: WordPress version 3.2.1 *********************************************************************************/ //Set the Post Custom Field in the WP dashboard as Name/Value pair function bac_PostViews($post_ID) { //Set the name of the Posts Custom Field. $count_key = 'post_views_count'; //Returns values of the custom field with the specified key from the specified post. $count = get_post_meta($post_ID, $count_key, true); //If the the Post Custom Field value is empty. if($count == ''){ $count = 0; // set the counter to zero. //Delete all custom fields with the specified key from the specified post. delete_post_meta($post_ID, $count_key); //Add a custom (meta) field (Name/value)to the specified post. add_post_meta($post_ID, $count_key, '0'); return $count . ' View'; //If the the Post Custom Field value is NOT empty. }else{ $count++; //increment the counter by 1. //Update the value of an existing meta key (custom field) for the specified post. update_post_meta($post_ID, $count_key, $count); //If statement, is just to have the singular form 'View' for the value '1' if($count == '1'){ return $count . ' View'; } //In all other cases return (count) Views else { return $count . ' Views'; } } } ?>
single.php
<?php if(function_exists('bac_PostViews')) { echo bac_PostViews(get_the_ID()); }?>
สำหรับหน้ารวมบทความ (content.php หรือ index.php ) ให้ใช้โค๊ดด้านล่างนี้เพื่อแสดงจำนวน Views ของแต่ละบทความ (แสดงอย่างเดียว ไม่อัพเดทจำนวน Views)
<?php echo (int) get_post_meta(get_the_ID(), 'post_views_count', true) . ' View(s)'; ?>
หาต้องการแสดงคอร์ลัมน์ view ในส่วนของ Admin Dashboard ให้เพิ่มโค๊ดด้านล่างนี้เข้าไปในไฟล์ function.php
<?php /*********************************CODE-3******************************************** * @Author: Boutros AbiChedid * @Date: January 16, 2012 * @Websites: http://bacsoftwareconsulting.com/ ; http://blueoliveonline.com/ * @Description: Adds a Non-Sortable 'Views' Columnn to the Post Tab in WP dashboard. * This code requires CODE-1(and CODE-2) as a prerequesite. * Code is browser and JavaScript independent. * @Tested on: WordPress version 3.2.1 ***********************************************************************************/ //Gets the number of Post Views to be used later. function get_PostViews($post_ID){ $count_key = 'post_views_count'; //Returns values of the custom field with the specified key from the specified post. $count = get_post_meta($post_ID, $count_key, true); return $count; } //Function that Adds a 'Views' Column to your Posts tab in WordPress Dashboard. function post_column_views($newcolumn){ //Retrieves the translated string, if translation exists, and assign it to the 'default' array. $newcolumn['post_views'] = __('Views'); return $newcolumn; } //Function that Populates the 'Views' Column with the number of views count. function post_custom_column_views($column_name, $id){ if($column_name === 'post_views'){ // Display the Post View Count of the current post. // get_the_ID() - Returns the numeric ID of the current post. echo get_PostViews(get_the_ID()); } } //Hooks a function to a specific filter action. //applied to the list of columns to print on the manage posts screen. add_filter('manage_posts_columns', 'post_column_views'); //Hooks a function to a specific action. //allows you to add custom columns to the list post/custom post type pages. //'10' default: specify the function's priority. //and '2' is the number of the functions' arguments. add_action('manage_posts_custom_column', 'post_custom_column_views',10,2); ?>
ดูเพิ่มเติม :
http://bacsoftwareconsulting.com/blog/index.php/wordpress-cat/how-to-track-and-display-post-views-count-in-wordpress-without-a-plugin/