{"id":23348,"date":"2013-05-11T03:40:06","date_gmt":"2013-05-11T03:40:06","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wpecounter\/"},"modified":"2025-12-19T18:09:21","modified_gmt":"2025-12-19T18:09:21","slug":"wpecounter","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/wpecounter\/","author":767866,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.3","stable_tag":"2.1.3","tested":"6.9.4","requires":"3.1","requires_php":"7.0","requires_plugins":null,"header_name":"WP Views Counter","header_author":"Etruel Developments LLC","header_description":"","assets_banners_color":"9e4768","last_updated":"2025-12-19 18:09:21","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=7267TH4PT3GSW","header_plugin_uri":"https:\/\/etruel.com\/downloads\/wpecounter","header_author_uri":"https:\/\/etruel.com","rating":5,"author_block_rating":0,"active_installs":2000,"downloads":42273,"num_ratings":5,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"etruel","date":"2014-01-30 15:37:51"},"1.1.2":{"tag":"1.1.2","author":"etruel","date":"2016-03-29 20:09:14"},"1.2":{"tag":"1.2","author":"etruel","date":"2022-09-07 22:25:41"},"2.0.4":{"tag":"2.0.4","author":"etruel","date":"2025-06-04 23:30:47"},"2.1":{"tag":"2.1","author":"etruel","date":"2025-06-15 00:16:17"},"2.1.1":{"tag":"2.1.1","author":"etruel","date":"2025-09-27 17:06:53"},"2.1.2":{"tag":"2.1.2","author":"etruel","date":"2025-11-23 01:03:19"},"2.1.3":{"tag":"2.1.3","author":"etruel","date":"2025-12-19 18:09:21"}},"upgrade_notice":{"":"<p>Fully compatible with WP 6.9 and Security Fixes!<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":5},"assets_icons":{"icon-1024x1024.png":{"filename":"icon-1024x1024.png","revision":2781621,"resolution":"1024x1024","location":"assets","locale":""},"icon-128x128.png":{"filename":"icon-128x128.png","revision":2781621,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2781621,"resolution":"256x256","location":"assets","locale":""},"icon-512x512.png":{"filename":"icon-512x512.png","revision":2781621,"resolution":"512x512","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2781621,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2781621,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"wpecounter\/most-viewed-block":{"apiVersion":2,"name":"wpecounter\/most-viewed-block","title":"Most Popular","category":"wpecounter","icon":"chart-bar","description":"A dynamic block showing the most popular posts.","textdomain":"wpecounter","editorScript":"file:.\/build\/index.js","style":"file:.\/src\/style-index.css","editorStyle":"file:.\/build\/index.css","supports":{"html":false}}},"tagged_versions":["1.0","1.1.2","1.2","2.0.4","2.1","2.1.1","2.1.2","2.1.3"],"block_files":[],"assets_screenshots":{"screenshot-4.png":{"filename":"screenshot-4.png","revision":3423917,"resolution":"4","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3423917,"resolution":"1","location":"plugin"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3423917,"resolution":"2","location":"plugin"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3423917,"resolution":"3","location":"plugin"}},"screenshots":{"1":"Admin settings page.","2":"Views displayed in post list.","3":"Widget showing popular posts by views."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[97401,232,1086,5990,160550],"plugin_category":[36],"plugin_contributors":[79536,219948,170411],"plugin_business_model":[],"class_list":["post-23348","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax-counter","plugin_tags-analytics","plugin_tags-popular-posts","plugin_tags-post-views","plugin_tags-views-counter","plugin_category-analytics","plugin_contributors-etruel","plugin_contributors-gerarjos14","plugin_contributors-khaztiel","plugin_committers-etruel"],"banners":{"banner":"https:\/\/ps.w.org\/wpecounter\/assets\/banner-772x250.png?rev=2781621","banner_2x":"https:\/\/ps.w.org\/wpecounter\/assets\/banner-1544x500.png?rev=2781621","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpecounter\/assets\/icon-128x128.png?rev=2781621","icon_2x":"https:\/\/ps.w.org\/wpecounter\/assets\/icon-256x256.png?rev=2781621","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpecounter\/trunk\/screenshot-1.png?rev=3423917","caption":"Admin settings page."},{"src":"https:\/\/ps.w.org\/wpecounter\/trunk\/screenshot-2.png?rev=3423917","caption":"Views displayed in post list."},{"src":"https:\/\/ps.w.org\/wpecounter\/trunk\/screenshot-3.png?rev=3423917","caption":"Widget showing popular posts by views."},{"src":"https:\/\/ps.w.org\/wpecounter\/trunk\/screenshot-4.png?rev=3423917","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>WP Views Counter<\/strong> is a lightweight, high-performance plugin that accurately tracks and displays post, page, and custom post type views \u2014 directly in the WordPress admin, via shortcode, or with a Gutenberg block.<\/p>\n\n<p>Built for bloggers, marketers, store owners, and developers, it works seamlessly across all post types \u2014 including WooCommerce and Easy Digital Downloads \u2014 with minimal impact on your site\u2019s speed. No external scripts. No unnecessary bloat.<\/p>\n\n<p>This plugin does one job and does it exceptionally well: it tells you which content is getting the most attention.<\/p>\n\n<h4>Key Benefits<\/h4>\n\n<p>\u2705 <strong>Accurate view counts<\/strong> in admin columns, shortcode, or block<br \/>\n\u2705 <strong>Metabox per post<\/strong> with real-time views and reset button<br \/>\n\u2705 <strong>Exclude views from logged-in users or specific roles<\/strong><br \/>\n\u2705 <strong>Fully AJAX-powered<\/strong> \u2014 no page reloads or slowdowns<br \/>\n\u2705 <strong>Works with all post types<\/strong>, including EDD and WooCommerce<br \/>\n\u2705 <strong>Block to display popular posts<\/strong> \u2014 no legacy widgets required<br \/>\n\u2705 <strong>Developer-friendly and fully translatable<\/strong>\n\u2705 <strong>Import views from other plugins<\/strong><\/p>\n\n<p>Whether you're optimizing your content strategy or simply want to know what's working, <strong>WP Views Counter<\/strong> is the simple and effective alternative to bloated analytics plugins.<\/p>\n\n<p>\ud83d\udce6 Start tracking your most popular content today \u2014 with clarity, speed and control.<\/p>\n\n<p>\ud83d\udca1 Developer-friendly: <a href=\"https:\/\/github.com\/Etruel-Developments\/wpecounter\/issues\">Contribute on GitHub<\/a> \u2014 forks and pull requests welcome.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code> and unzip it.<\/li>\n<li>Activate via the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Configure settings under <strong>Settings \u2192 WP Views Counter<\/strong>.<\/li>\n<li>Use <code>[WPeCounter]<\/code> in content or widgets to display views.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='can%20i%20upgrade%20from%20an%20older%20version%20without%20losing%20data%3F'><h3>Can I upgrade from an older version without losing data?<\/h3><\/dt>\n<dd><p>Yes. Version 2.0+ automatically imports your previous data and settings. You can also manually import custom view fields. Always make a backup first.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.3 \u2013 Dec 19, 2025<\/h4>\n\n<ul>\n<li>Security: Improved access control and request validation in admin settings.<\/li>\n<li>Added proper capability checks to restrict sensitive actions to administrators only.<\/li>\n<li>Added nonce verification to protect destructive actions against unauthorized requests.<\/li>\n<li>General hardening of admin-side logic.<\/li>\n<\/ul>\n\n<h4>2.1.2 \u2013 Nov 19, 2025<\/h4>\n\n<ul>\n<li>Add security to reset function<\/li>\n<\/ul>\n\n<h4>2.1.1 \u2013 Sep 25, 2025<\/h4>\n\n<ul>\n<li>Fixed PHP Warnings displayed in DEBUG mode for Undefined array keys of non-public post-types.<\/li>\n<\/ul>\n\n<h4>2.1 \u2013 Jun 13, 2025<\/h4>\n\n<ul>\n<li>Added a post metabox showing view count with a \"Reset\" button per post.(Deprecated Legacy Widget will be deleted on future release.)<\/li>\n<li>Introduced a Gutenberg block to replace the legacy popular posts widget.<\/li>\n<li>New option to choose the Views column position in each post type list.<\/li>\n<li>Added feature to exclude logged-in users (or by role) from the view count.<\/li>\n<li>New tools to reset all view counters or by post type.<\/li>\n<\/ul>\n\n<h4>2.0.4 \u2013 Jun 4, 2025<\/h4>\n\n<ul>\n<li>Improved output sanitization and escaping for enhanced security.<\/li>\n<li>Fixed minor issues reported in compatibility scans.<\/li>\n<li>General code quality and performance improvements.<\/li>\n<li>Fully compatible with WordPress 6.8.<\/li>\n<\/ul>\n\n<h4>2.0.3 \u2013 Apr 22, 2025<\/h4>\n\n<ul>\n<li>Fixed incorrect posts order when clicking on the Views column header.<\/li>\n<li>Fixed a fatal error occurring during plugin uninstallation.<\/li>\n<li>Bump to WP 6.8<\/li>\n<\/ul>\n\n<h4>2.0.2 \u2013 Jun 01, 2024<\/h4>\n\n<ul>\n<li>Bump to WP 6.5.4<\/li>\n<li>Fixes on loading language files.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Added Danger Zone in Settings allowing to fix failed imports, duplicated metafields and empty fields processes.<\/li>\n<li>Improved column order query in all post types lists.<\/li>\n<li>Fixes the import process that if it uses same Views metafield the duplicate the metafields in each post.<\/li>\n<li>Updated POT and Spanish language files.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>New name: WP Views Counter \u2014 better reflects its functionality.<\/li>\n<li>Rewritten from scratch \u2014 faster, more robust, more extensible.<\/li>\n<li>New Legacy Widget with list of most visited posts.<\/li>\n<li>Fixes frontend-only view counting behavior.<\/li>\n<li>Updated language files and tested with WordPress 6.0.2.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added compatibility with Easy Digital Downloads.<\/li>\n<li>Fixes for other Custom Post Types.<\/li>\n<li>Adjusted Views column position.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed PHP warnings and strict standard issues (5.4+).<\/li>\n<li>Improved compatibility.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed \"Call to undefined function get_plugin_data()\" error.<\/li>\n<li>Updated translations.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>New: \u201cOrder by Visits\u201d on admin post list.<\/li>\n<li>Views column position changed next to Comments column.<\/li>\n<li>Meta-field importer for other counter plugins.<\/li>\n<li>Added Serbo-Croatian translation.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<p>Initial Release.<\/p>","raw_excerpt":"Fast, lightweight post views counter. Display views in admin, blocks or shortcodes \u2014 no tracking scripts required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/23348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=23348"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/etruel"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=23348"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=23348"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=23348"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=23348"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=23348"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=23348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}