Basic idea is to use javascript to make an AJAX call back to the site which in turn save the hit because if you use PHP alone, then hits for cached pages won’t be counted because no PHP is processed at that time.
Study the code of WP-Postviews plugin http://lesterchan.net/portfolio/programming/php/#wp-postviews
Edit:
Hook may be fired twice in Firefox because it prefetches URL specified in HTML source as
<link rel="next" href="http://www.domain.com/adjacent-post/" />
Use this to remove that line from source
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
Related Posts:
- Passing a parameter to filter and action functions
- Get a list of all registered actions
- How can I edit post data before it is saved?
- Auto Load Plugin Hooks inside Must Use Plugin
- How to only hook on Single.php after content?
- How can I log a user out of WordPress before the page loads?
- What is the ‘admin_action_’ . $_REQUEST[‘action’] hook used for?
- Autogenerate wordpress shortcodes using array?
- Enqueue style inside shortcode but its loaded at the bottom of page (before footer scripts)
- How can I limit functionality in one version of a plugin?
- Is there a global action for when a plugin is uninstalled?
- Shortcode display outside the div
- Good tools for locating hooks in a wordpress page/admin interface/blog post?
- How to remove action from plugin?
- Very stubborn wp_register_script / add_action vs remove
- How to prepend to the_title for admin-side plugin’s use
- do_action and hook methods
- Is it possible to add an action to the currently running action?
- Is there an action that is called when a post is restored from the trash?
- Action on post publish
- How to add inline css/js inside a shortcode
- How to prevent action in ajax request, when in admin side?
- What is the purpose of $merged_filters?
- template_redirect not being called when using ajax
- add action wp_head not working
- Can I use a method from an existing plugin as an action hook?
- What are the benefit in adding hook in the init() hook?
- Detect when any plugin is activated or deactivated
- Where to hook my plugin’s action
- Overwrite or Replace code in WP_Footer
- How do action and filter hooks understand where to look for the core function that we hooked our function to them
- Get posts from WP_Query and format them on admin_head
- Any hook for pre-plugin-update -either bulk or single plugin update
- wordpress plugin is not activating from widget
- When to load auto-login code?
- How to get all of the activate_plugin action parameters?
- Get Time Taken By Each Action Hook in WordPress
- Are functions in main plugin file called before function bound to register_activation_hook runs?
- Removing an action from wp_footer called in a class that’s inside a bigger class
- WordPress user account activation
- External Script Using WP – Hooks / Actions Not Working?
- Submit custom form from post content and execute in plugin
- add_action in a custom plugin
- What is @Action in WordPress?
- Add action to fire when a published post is updated
- _prime_post_caches in wordpress
- How passing values to construct function with Actions?
- Remove_action from plugin with a Class
- add_action into another add_action not working
- Using add_action before add_filter on a plugin?
- a weird attribute on every html tag
- Submit Form data to another page via Ajax (WordPress Way)
- Why do plugins often ask to add in to templates?
- Does using `add_action( ‘init’…` cause performance issues?
- remove_action not removing add_action from constructor
- How to get menu location in wp_update_nav_menu hook
- Basic function call on init failing
- Are there action hooks for comments?
- WooCommerce: after install hook
- Advanced WordPress plugin activation detection
- how to execute some code after a post is published in WordPress [duplicate]
- How to remove products-links after the product title using remove_action
- Dequeue, Unregister, Remove Action – Not Working on Plugin
- Add action to custom Function
- How to use add_action for multiple instances of the same class
- How to hook into action/filter call
- How to append new form elements in “Add New” form of Users in WordPress admin panel?
- Edit post image attributes on fly?
- Hook from plugin doesn’t fire up from external PHP script
- update_option_{$option} not working (do function after options are saved)
- Why do actions with class and public method don’t fire __construct()
- i create functions.php in plugin files but add_action (‘wp_head’, ‘function_name’) don’t work
- Sharing varible between two add_actions
- Hooking into the HTML header container
- Removing Plugin Action via Theme for Non-admins
- Remove action added in plugin class from theme
- {status}_{post_type} does not run correctly?
- Creating Admin Submenu Page via Class Method
- How to get bulk actions handler to display simple “Hello World”?
- Help needed with woocommerce (wc stripe) filter
- Why is WP template_include overwritting all templates rather than specified page?
- Why can’t I shove an instance of a class into a variable from a do_action hook?
- Why doesn’t a form need an ‘action’ with a plugin that uses the post data?
- Passing a parameter to filter and action functions
- Run only on plug-in activation instead of wp_head
- Am I using an action hook correctly?
- plugins_loaded action is not working properly
- Plugin Hook: Get posts
- Action hook “wp_insert_post” works but not for last imported post
- add_media_page function not creating submenu
- Remove action plugin
- Filter for modifying image on upload
- Is it possible to cancel a post status transition?
- Problem with executing a function on saving a post
- OOP Plugin: Where should I place the action hooks in the class?
- add query string to all pages after user logged in
- How wordpress plugin hooks works? [duplicate]
- Which action/filter can i use for a Member Plugin [closed]
- Hook automatic_updates_complete to autoupdate plugin
- My wp_update_nav_menu action is firing twice