{"id":283479,"date":"2026-05-31T14:01:55","date_gmt":"2026-05-31T14:01:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advanced-reading-progress-view-counter\/"},"modified":"2026-08-24T16:16:17","modified_gmt":"2026-08-24T16:16:17","slug":"advanced-reading-progress-view-counter","status":"publish","type":"plugin","link":"https:\/\/lij.wordpress.org\/plugins\/advanced-reading-progress-view-counter\/","author":23377190,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.4","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"Advanced Reading Progress & View Counter","header_author":"Teckut","header_description":"Advanced reading progress bar with optional view counter controls.","assets_banners_color":"ffffff","last_updated":"2026-08-24 16:16:17","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/teckut.com\/","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":324,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"teckut","date":"2026-05-31 14:01:35","revision":3555574},"1.0.1":{"tag":"1.0.1","author":"teckut","date":"2026-06-14 16:40:53","revision":3572089},"1.0.2":{"tag":"1.0.2","author":"teckut","date":"2026-08-24 16:16:17","revision":3663898}},"upgrade_notice":{"1.0.2":"<p>Added a WordPress Playground live preview demo with sample content and preconfigured plugin settings.<\/p>","1.0.1":"<p>Improved plugin page readability, documentation, and latest compatibility updates.<\/p>","1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3555573,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3555573,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3572089,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3672077,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/arpvc-demo\\\/\",\"preferredVersions\":{\"php\":\"8.1\",\"wp\":\"latest\"},\"login\":true,\"steps\":[{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\n$settings = array(\\n    'progress_enabled'      => true,\\n    'foreground_color'      => '#16a34a',\\n    'background_color'      => '#e5e7eb',\\n    'position'              => 'top',\\n    'thickness'             => 8,\\n    'post_types'            => array( 'post' ),\\n    'display_mode'          => 'bar',\\n    'read_count_enabled'    => true,\\n    'read_count_locations'  => array( 'post' ),\\n    'read_count_position'   => 'before-content',\\n    'read_count_prefix'     => 'Views:',\\n    'read_count_suffix'     => '',\\n    'read_count_lock_hours' => 24,\\n    'read_count_wpm'        => 200,\\n    'read_count_font_size'  => 14,\\n    'read_count_margin'     => array( 8, 8, 8, 8 ),\\n    'read_count_padding'    => array( 10, 12, 10, 12 ),\\n    'read_count_bg_color'   => '#0f766e',\\n    'read_count_text_color' => '#ffffff',\\n);\\n\\nupdate_option( 'arpvc_settings', $settings );\\n\\n$post_id = get_page_by_path( 'arpvc-demo', OBJECT, 'post' );\\n\\nif ( ! $post_id ) {\\n    $post_id = wp_insert_post(\\n        array(\\n            'post_title'   => 'Advanced Reading Progress & View Counter Demo',\\n            'post_name'    => 'arpvc-demo',\\n            'post_status'  => 'publish',\\n            'post_type'    => 'post',\\n            'post_author'  => 1,\\n            'post_content' => '<h2>Try the reading progress bar<\\\/h2>\\n<p>Scroll through this demo article and watch the progress indicator at the top of the screen. The view counter above the content shows how many views this post has received.<\\\/p>\\n<h2>Reading Progress<\\\/h2>\\n<p>The progress bar follows your reading position as you move through the article. Continue scrolling to the bottom to see it reach 100 percent.<\\\/p>\\n<p>This sample content is intentionally long enough to make the progress indicator easy to test on desktop and mobile-sized screens.<\\\/p>\\n<h2>View Counter<\\\/h2>\\n<p>The view counter records a view and uses the configured anti-refresh lock window. Refreshing the page repeatedly within the lock period will not create another view for the same visitor.<\\\/p>\\n<h2>Customization<\\\/h2>\\n<p>On a normal WordPress site, administrators can change the progress indicator colors, thickness, position, display mode, supported post types, and view-counter settings from Reading Progress &amp; Views.<\\\/p>\\n<h2>Shortcode<\\\/h2>\\n<p>You can also place the counter manually with <code>[arpvc_view_counter]<\\\/code>.<\\\/p>\\n<p>Keep scrolling to test the complete reading experience provided by Advanced Reading Progress &amp; View Counter.<\\\/p>',\\n        ),\\n        true\\n    );\\n\\n    if ( is_wp_error( $post_id ) ) {\\n        throw new RuntimeException( $post_id->get_error_message() );\\n    }\\n}\\n\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"advanced-reading-progress-view-counter\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3555573,"resolution":"1","location":"assets","locale":"","width":1335,"height":833},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3555573,"resolution":"2","location":"assets","locale":"","width":1335,"height":833},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3555573,"resolution":"3","location":"assets","locale":"","width":1335,"height":833},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3555573,"resolution":"4","location":"assets","locale":"","width":1445,"height":1131},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3555573,"resolution":"5","location":"assets","locale":"","width":1179,"height":1184}},"screenshots":{"1":"Reading progress bar displayed at the top of a blog post","2":"Circular reading progress indicator example","3":"Post view counter displayed on a single post","4":"Reading Progress settings page","5":"View Counter settings page"}},"plugin_section":[],"plugin_tags":[5990,9351,267133,225949,23753],"plugin_category":[43],"plugin_contributors":[265207],"plugin_business_model":[],"class_list":["post-283479","plugin","type-plugin","status-publish","hentry","plugin_tags-post-views","plugin_tags-progress-bar","plugin_tags-reading-indicator","plugin_tags-reading-progress","plugin_tags-view-counter","plugin_category-customization","plugin_contributors-teckut","plugin_committers-teckut"],"banners":{"banner":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/banner-772x250.png?rev=3572089","banner_2x":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/banner-1544x500.png?rev=3555573","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/icon-256x256.png?rev=3555573","icon_2x":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/icon-256x256.png?rev=3555573","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/screenshot-1.png?rev=3555573","caption":"Reading progress bar displayed at the top of a blog post"},{"src":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/screenshot-2.png?rev=3555573","caption":"Circular reading progress indicator example"},{"src":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/screenshot-3.png?rev=3555573","caption":"Post view counter displayed on a single post"},{"src":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/screenshot-4.png?rev=3555573","caption":"Reading Progress settings page"},{"src":"https:\/\/ps.w.org\/advanced-reading-progress-view-counter\/assets\/screenshot-5.png?rev=3555573","caption":"View Counter settings page"}],"raw_content":"<!--section=description-->\n<p>Advanced Reading Progress &amp; View Counter helps improve user engagement by showing visitors:<\/p>\n\n<p>\u2714 How much content they have read\n\u2714 Which posts are most popular\n\u2714 A cleaner and more interactive reading experience<\/p>\n\n<p>The plugin combines a customizable reading progress indicator with a lightweight post view counter that includes anti-refresh protection.<\/p>\n\n<p>Perfect for:<\/p>\n\n<ul>\n<li>Blogs<\/li>\n<li>News websites<\/li>\n<li>Tutorial sites<\/li>\n<li>Documentation websites<\/li>\n<li>Magazine-style WordPress websites<\/li>\n<\/ul>\n\n<h4>Why Use This Plugin?<\/h4>\n\n<p>Many readers leave long articles before finishing them.<\/p>\n\n<p>A reading progress bar encourages visitors to continue scrolling and improves content interaction. At the same time, the built-in view counter helps display content popularity and social proof.<\/p>\n\n<p>This plugin is lightweight, easy to configure, and works without external tracking services.<\/p>\n\n<h4>Reading Progress Features<\/h4>\n\n<ul>\n<li>Top reading progress bar<\/li>\n<li>Circular\/radial progress indicator<\/li>\n<li>Custom colors and thickness<\/li>\n<li>Multiple display positions<\/li>\n<li>Mobile-friendly design<\/li>\n<li>Select supported post types<\/li>\n<li>Lightweight frontend assets<\/li>\n<\/ul>\n\n<h4>Post View Counter Features<\/h4>\n\n<ul>\n<li>Smart anti-refresh protection<\/li>\n<li>Configurable lock window<\/li>\n<li>Custom prefix &amp; suffix<\/li>\n<li>Multiple display positions<\/li>\n<li>Manual shortcode placement<\/li>\n<li>Support for specific post IDs<\/li>\n<li>Hide zero-view counts<\/li>\n<\/ul>\n\n<h4>Easy Customization<\/h4>\n\n<ul>\n<li>Beginner-friendly settings<\/li>\n<li>Clean WordPress admin UI<\/li>\n<li>No coding required<\/li>\n<li>Lightweight and performance-focused<\/li>\n<\/ul>\n\n<h3>Shortcodes<\/h3>\n\n<p>Display the counter anywhere manually:<\/p>\n\n<pre><code>[arpvc_view_counter]\n<\/code><\/pre>\n\n<p>Alias shortcode:<\/p>\n\n<pre><code>[arpvc_read_count]\n<\/code><\/pre>\n\n<p>Show views for a specific post:<\/p>\n\n<pre><code>[arpvc_view_counter post_id=\"123\"]\n<\/code><\/pre>\n\n<p>Add custom text:<\/p>\n\n<pre><code>[arpvc_view_counter prefix=\"Views:\" suffix=\"Total\"]\n<\/code><\/pre>\n\n<p>Hide counter when views are zero:<\/p>\n\n<pre><code>[arpvc_view_counter show_zero=\"0\"]&lt;h3&gt;Development&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>Source code is available on GitHub:<\/p>\n\n<p>https:\/\/github.com\/Teckut-Git\/advanced-reading-progress-view-counter<\/p>\n\n<p>Production assets included in the plugin are generated using npm and gulp.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/advanced-reading-progress-view-counter\/<\/code><\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> page in WordPress<\/li>\n<li>Open <strong>Reading Progress &amp; Views<\/strong> from the admin menu<\/li>\n<li>Configure progress bar settings<\/li>\n<li>Configure view counter settings<\/li>\n<li>Save changes and start tracking engagement<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20the%20anti-refresh%20protection%20work%3F\"><h3>How does the anti-refresh protection work?<\/h3><\/dt>\n<dd><p>The plugin stores a temporary cooldown period per visitor and post.<\/p>\n\n<p>Example:<\/p>\n\n<p>If the lock window is set to <code>24 hours<\/code>, refreshing the same post multiple times within that period will not increase the view count.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20the%20lock%20window%3F\"><h3>Can I disable the lock window?<\/h3><\/dt>\n<dd><p>Yes.<\/p>\n\n<p>Simply set the lock window value to <code>0<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20manually%20place%20the%20counter%3F\"><h3>Can I manually place the counter?<\/h3><\/dt>\n<dd><p>Yes.<\/p>\n\n<p>Set the counter position to <code>Shortcode Only<\/code> and place:<\/p>\n\n<pre><code>[arpvc_view_counter]\n<\/code><\/pre>\n\n<p>anywhere inside posts, pages, widgets, Elementor, Gutenberg blocks, or page builders.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20require%20external%20services%3F\"><h3>Does the plugin require external services?<\/h3><\/dt>\n<dd><p>No.<\/p>\n\n<p>Everything works directly inside WordPress without third-party APIs or tracking systems.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20lightweight%3F\"><h3>Is the plugin lightweight?<\/h3><\/dt>\n<dd><p>Yes.<\/p>\n\n<p>The plugin is optimized for performance and loads only the required frontend assets.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added a WordPress Playground live preview demo with sample content.<\/li>\n<li>Added a preconfigured demo setup for the reading progress indicator and view counter.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved WordPress.org plugin page content<\/li>\n<li>Enhanced plugin documentation and readability<\/li>\n<li>Improved shortcode explanations<\/li>\n<li>Updated compatibility for latest WordPress and WooCommerce versions<\/li>\n<li>UI and presentation improvements<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Reading progress indicator<\/li>\n<li>Circular progress display<\/li>\n<li>Post view counter<\/li>\n<li>Shortcode support<\/li>\n<li>Anti-refresh lock system<\/li>\n<\/ul>","raw_excerpt":"Add beautiful reading progress bars and smart post view counters to improve engagement and user experience on your WordPress site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/283479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=283479"}],"author":[{"embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/teckut"}],"wp:attachment":[{"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=283479"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=283479"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=283479"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=283479"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=283479"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lij.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=283479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}