[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fWW9XpxGJboUF7ajSNlNWjHj61TEbdwR4h-qjMXX1HIQ":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":36,"analysis":139,"fingerprints":202},"posts-visitors","Posts Visitors","1.0.0","Huda Medoukh","https:\u002F\u002Fprofiles.wordpress.org\u002Fhudamedoukh\u002F","\u003Cp>plugin counts the number of visitors to the posts and displays the counter in the posts, you can choose the text label of the counter,\u003Cbr \u002F>\n also, you can choose the icon of the posts visitors counter and change the color of it, in case you want to have full control of the position of the counter you can use the shortcode of the plugin.\u003C\u002Fp>\n","A plugin allows you to display how many times the post had been visited.",40,1287,100,1,"2022-05-11T20:34:00.000Z","5.9.13","5.5","7.4",[20,21,4,22,23],"count","posts","views","visitors","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fposts-visitors.1.0.0.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"hudamedoukh",30,84,"2026-04-05T00:58:58.667Z",[37,63,81,101,119],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":13,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":58,"download_link":59,"security_score":60,"vuln_count":61,"unpatched_count":27,"last_vuln_date":62,"fetched_at":29},"wpecounter","WP Views Counter","2.1.3","etruel","https:\u002F\u002Fprofiles.wordpress.org\u002Fetruel\u002F","\u003Cp>\u003Cstrong>WP Views Counter\u003C\u002Fstrong> is a lightweight, high-performance plugin that accurately tracks and displays post, page, and custom post type views — directly in the WordPress admin, via shortcode, or with a Gutenberg block.\u003C\u002Fp>\n\u003Cp>Built for bloggers, marketers, store owners, and developers, it works seamlessly across all post types — including WooCommerce and Easy Digital Downloads — with minimal impact on your site’s speed. No external scripts. No unnecessary bloat.\u003C\u002Fp>\n\u003Cp>This plugin does one job and does it exceptionally well: it tells you which content is getting the most attention.\u003C\u002Fp>\n\u003Ch4>Key Benefits\u003C\u002Fh4>\n\u003Cp>✅ \u003Cstrong>Accurate view counts\u003C\u002Fstrong> in admin columns, shortcode, or block\u003Cbr \u002F>\n✅ \u003Cstrong>Metabox per post\u003C\u002Fstrong> with real-time views and reset button\u003Cbr \u002F>\n✅ \u003Cstrong>Exclude views from logged-in users or specific roles\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ \u003Cstrong>Fully AJAX-powered\u003C\u002Fstrong> — no page reloads or slowdowns\u003Cbr \u002F>\n✅ \u003Cstrong>Works with all post types\u003C\u002Fstrong>, including EDD and WooCommerce\u003Cbr \u002F>\n✅ \u003Cstrong>Block to display popular posts\u003C\u002Fstrong> — no legacy widgets required\u003Cbr \u002F>\n✅ \u003Cstrong>Developer-friendly and fully translatable\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ \u003Cstrong>Import views from other plugins\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Whether you’re optimizing your content strategy or simply want to know what’s working, \u003Cstrong>WP Views Counter\u003C\u002Fstrong> is the simple and effective alternative to bloated analytics plugins.\u003C\u002Fp>\n\u003Cp>📦 Start tracking your most popular content today — with clarity, speed and control.\u003C\u002Fp>\n\u003Cp>💡 Developer-friendly: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FEtruel-Developments\u002Fwpecounter\u002Fissues\" rel=\"nofollow ugc\">Contribute on GitHub\u003C\u002Fa> — forks and pull requests welcome.\u003C\u002Fp>\n","Fast, lightweight post views counter. Display views in admin, blocks or shortcodes — no tracking scripts required.",2000,41916,5,"2025-12-19T18:09:00.000Z","6.9.4","3.1","7.0",[53,54,55,56,57],"ajax-counter","analytics","popular-posts","post-views","views-counter","https:\u002F\u002Fetruel.com\u002Fdownloads\u002Fwpecounter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpecounter.2.1.3.zip",98,2,"2025-12-14 00:00:00",{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":27,"num_ratings":27,"last_updated":73,"tested_up_to":49,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":79,"download_link":80,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"light-views-counter","Light Views Counter – Fast, Scalable View Counter for High-Traffic Sites","1.1.0","ThemeRuby","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeruby\u002F","\u003Cp>\u003Cstrong>Light Views Counter\u003C\u002Fstrong> is a professional, high-performance WordPress plugin that tracks post and page views using \u003Cstrong>intelligent scroll detection technology\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Designed for \u003Cstrong>bloggers, news sites, magazines, and content creators\u003C\u002Fstrong>, this plugin helps you understand what content truly resonates with your audience.\u003C\u002Fp>\n\u003Cp>Built for \u003Cstrong>speed and scalability\u003C\u002Fstrong>, Light Views Counter is optimized for \u003Cstrong>heavy-traffic websites\u003C\u002Fstrong> and large post databases. It delivers reliable view tracking \u003Cstrong>without adding query overhead\u003C\u002Fstrong> or slowing down your site’s performance.\u003C\u002Fp>\n\u003Ch4>🎯 Why Choose Light Views Counter?\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Tracking\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Scroll Detection Technology\u003C\u002Fstrong> – Only counts views when visitors actually read your content (configurable scroll threshold)\u003Cbr \u002F>\n* \u003Cstrong>Bot Protection\u003C\u002Fstrong> – Automatically filters out search engine crawlers and automated traffic\u003Cbr \u002F>\n* \u003Cstrong>Duplicate Prevention\u003C\u002Fstrong> – Prevent counting the same user multiple times within a configurable time window\u003Cbr \u002F>\n* \u003Cstrong>Short Content Smart Detection\u003C\u002Fstrong> – Intelligently handles posts that fit in viewport without requiring scroll\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Lightning Fast Performance\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Zero Impact on Page Speed\u003C\u002Fstrong> – Asynchronous REST API ensures counting happens in the background\u003Cbr \u002F>\n* \u003Cstrong>Built-in Caching\u003C\u002Fstrong> – Transient-based caching system reduces database load\u003Cbr \u002F>\n* \u003Cstrong>sendBeacon API\u003C\u002Fstrong> – Fire-and-forget counting for maximum performance (enabled by default)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Easy to Use\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Automatic Tracking\u003C\u002Fstrong> – Works immediately after activation, no configuration required\u003Cbr \u002F>\n* \u003Cstrong>Flexible Shortcode\u003C\u002Fstrong> – Display views anywhere with \u003Ccode>[lightvc_post_views]\u003C\u002Fcode> shortcode\u003Cbr \u002F>\n* \u003Cstrong>Popular Posts Widgets\u003C\u002Fstrong> – Ready-to-use WordPress and Elementor widgets\u003Cbr \u002F>\n* \u003Cstrong>Auto-Display Option\u003C\u002Fstrong> – Automatically show view counts at the end of posts\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Developer Friendly\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Clean Public API\u003C\u002Fstrong> – Simple functions: \u003Ccode>lightvc_get_post_views()\u003C\u002Fcode>, \u003Ccode>lightvc_get_popular_posts()\u003C\u002Fcode>\u003Cbr \u002F>\n* \u003Cstrong>WP_Query Integration\u003C\u002Fstrong> – Sort posts by views: \u003Ccode>'orderby' => 'lightvc_views'\u003C\u002Fcode>\u003Cbr \u002F>\n* \u003Cstrong>Hooks & Filters\u003C\u002Fstrong> – Customize everything: \u003Ccode>lightvc_post_views_count\u003C\u002Fcode>, \u003Ccode>lightvc_views_html\u003C\u002Fcode>, \u003Ccode>lightvc_exclude_user\u003C\u002Fcode>\u003Cbr \u002F>\n* \u003Cstrong>REST API Endpoints\u003C\u002Fstrong> – HTTP access for external integrations\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Enterprise Ready\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>High Traffic Optimized\u003C\u002Fstrong> – Tested on sites with millions of views per day\u003Cbr \u002F>\n* \u003Cstrong>Cache Plugin Compatible\u003C\u002Fstrong> – Works perfectly with WP Rocket, W3 Total Cache, LiteSpeed Cache, Cloudflare\u003Cbr \u002F>\n* \u003Cstrong>GDPR Compliant\u003C\u002Fstrong> – No personal data collection, no cookies, privacy-focused\u003C\u002Fp>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Bloggers\u003C\u002Fstrong> – See which posts your readers love most\u003C\u002Fli>\n\u003Cli>\u003Cstrong>News Websites\u003C\u002Fstrong> – Track trending stories and breaking news engagement\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Magazine Sites\u003C\u002Fstrong> – Identify top-performing content and popular topics\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Marketers\u003C\u002Fstrong> – Measure content performance and reader engagement\u003C\u002Fli>\n\u003Cli>\u003Cstrong>E-commerce\u003C\u002Fstrong> – Track product page views and customer interest\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Publishers\u003C\u002Fstrong> – Understand content performance across categories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Smart Counting System\u003C\u002Fstrong>\u003Cbr \u002F>\n* Scroll-based view detection\u003Cbr \u002F>\n* Automatic short content detection and handling\u003Cbr \u002F>\n* Configurable time window to prevent duplicate counts\u003Cbr \u002F>\n* Admin user exclusion (don’t count your own views)\u003Cbr \u002F>\n* Bot and crawler filtering\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Widgets & Integration\u003C\u002Fstrong>\u003Cbr \u002F>\n* Standard WordPress widget for popular posts\u003Cbr \u002F>\n* Display options: thumbnails, view counts, dates\u003Cbr \u002F>\n* Fully customizable layouts\u003Cbr \u002F>\n* Works in any widget area\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Analytics & Reporting\u003C\u002Fstrong>\u003Cbr \u002F>\n* Admin dashboard with statistics\u003Cbr \u002F>\n* Total views across all posts\u003Cbr \u002F>\n* Most viewed posts list\u003Cbr \u002F>\n* Average views per post\u003Cbr \u002F>\n* Views column in posts list (sortable)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance Features\u003C\u002Fstrong>\u003Cbr \u002F>\n* Custom database table with optimized indexes\u003Cbr \u002F>\n* Transient caching system\u003Cbr \u002F>\n* Object cache support (Redis\u002FMemcached)\u003Cbr \u002F>\n* sendBeacon API for fire-and-forget requests\u003Cbr \u002F>\n* Conditional script loading\u003Cbr \u002F>\n* No external dependencies\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Developer Tools\u003C\u002Fstrong>\u003Cbr \u002F>\n* WordPress hooks and filters\u003Cbr \u002F>\n* view data REST API endpoints\u003Cbr \u002F>\n* WP_Query orderby support\u003Cbr \u002F>\n* Compatible with any theme\u003C\u002Fp>\n\u003Ch4>💻 For Developers\u003C\u002Fh4>\n\u003Cp>Light Views Counter provides a complete developer toolkit:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Basic Functions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Get post views:\n    \u003C\u002Fp>\n\u003Cp>Get popular posts:\u003Cbr \u002F>\n     10,\u003Cbr \u002F>\n        ‘date_range’ => 7  \u002F\u002F Last 7 days\u003Cbr \u002F>\n    ) );\u003Cbr \u002F>\n    ?>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WP_Query Integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Sort posts by views:\u003Cbr \u002F>\n     ‘post’,\u003Cbr \u002F>\n        ‘orderby’ => ‘lightvc_views’,\u003Cbr \u002F>\n        ‘order’ => ‘DESC’,\u003Cbr \u002F>\n        ‘posts_per_page’ => 10\u003Cbr \u002F>\n    ) );\u003Cbr \u002F>\n    ?>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Hooks & Filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify view count:\u003Cbr \u002F>\n    add_filter( ‘lightvc_post_views_count’, ‘my_custom_views’, 10, 2 );\u003C\u002Fp>\n\u003Cp>Customize HTML output:\u003Cbr \u002F>\n    add_filter( ‘lightvc_views_html’, ‘my_custom_html’, 10, 3 );\u003C\u002Fp>\n\u003Cp>Exclude specific users:\u003Cbr \u002F>\n    add_filter( ‘lightvc_exclude_user’, ‘my_user_exclusion’ );\u003C\u002Fp>\n\u003Cp>Track view events:\u003Cbr \u002F>\n    add_action( ‘lightvc_views_counted’, ‘my_view_tracker’ );\u003C\u002Fp>\n\u003Cp>\u003Cstrong>REST API Endpoints\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>GET \u002Fwp-json\u002Flightvc\u002Fv1\u002Fviews\u002F{post_id}\u003C\u002Fcode> – Get view count for a post\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>📱 Shortcode Usage\u003C\u002Fh4>\n\u003Cp>Display views anywhere using the flexible shortcode:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Basic usage:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [lightvc_post_views]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>With custom style:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [lightvc_post_views style=”badge”]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>With custom label:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [lightvc_post_views label=”Total Reads”]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For specific post:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [lightvc_post_views post_id=”123″]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>All options:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [lightvc_post_views post_id=”123″ style=”badge” label=”Views” icon=”👁️” show_label=”true”]\u003C\u002Fp>\n\u003Cp>Available styles: \u003Ccode>default\u003C\u002Fcode>, \u003Ccode>minimal\u003C\u002Fcode>, \u003Ccode>badge\u003C\u002Fcode>, \u003Ccode>compact\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Translations & Compatibility\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Language Support\u003C\u002Fstrong>\u003Cbr \u002F>\n* English (default)\u003Cbr \u002F>\n* Translation ready with .pot file included\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Theme Compatibility\u003C\u002Fstrong>\u003Cbr \u002F>\n* Works with any WordPress theme\u003Cbr \u002F>\n* Deep integration with Foxiz News theme\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plugin Compatibility\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Cache Plugins\u003C\u002Fstrong>: WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache, Autoptimize\u003Cbr \u002F>\n* \u003Cstrong>CDN Services\u003C\u002Fstrong>: Cloudflare, StackPath, KeyCDN, BunnyCDN\u003C\u002Fp>\n\u003Ch4>🔒 Privacy & Security\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>GDPR Compliant\u003C\u002Fstrong>\u003Cbr \u002F>\n* No personal data collection\u003Cbr \u002F>\n* No cookies used\u003Cbr \u002F>\n* No cross-site tracking\u003Cbr \u002F>\n* localStorage is client-side only\u003Cbr \u002F>\n* Complete transparency\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Security Features\u003C\u002Fstrong>\u003Cbr \u002F>\n* Rate limiting to prevent abuse\u003Cbr \u002F>\n* Admin capability checks\u003C\u002Fp>\n\u003Ch4>🔗 Useful Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemeruby.com\u002Flight-views-counter\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemeruby.com\u002Flight-views-counter\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemeruby.com\" rel=\"nofollow ugc\">ThemeRuby Website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Flight-views-counter\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Lightweight and fast post view counter with smart tracking, built for high-traffic sites and large post databases.",1000,3676,"2026-01-25T06:53:00.000Z","6.0",[76,55,77,78,22],"counter","statistics","tracking","https:\u002F\u002Fthemeruby.com\u002Flight-views-counter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flight-views-counter.1.1.0.zip",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":91,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":24,"tags":96,"homepage":99,"download_link":100,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"post-views-stats-counter","Post Views Stats Counter","1.1.7","Kazuki Yanamoto","https:\u002F\u002Fprofiles.wordpress.org\u002Fkazukiyanamoto\u002F","\u003Cp>This plugin will display how many times post and page viewed.\u003C\u002Fp>\n\u003Cp>It`s a simple stat analytics that also shows total view per day, week, month and all days. Those view are showed with titles and permalink.\u003Cbr \u002F>\nSelect only by title to see particular pages.\u003C\u002Fp>\n\u003Cp>You can exclude admin user and login users + you can ignore bots and useragents.\u003C\u002Fp>\n\u003Cp>The another merit is that “Most Popular articles” section can be added on to your widget.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Display how many times post and page viewed\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>View total access per day, week, month, and all days\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show titles and permalinks as well\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Change view order by date and title\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You can ignore bots and UserAgents\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Exclude admin user and login users\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“Most Popular articles” section can be added on to your widget\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin will display how many times post and page viewed. It shows total view of access per day, week, month, and all days.",700,22283,80,4,"2023-04-12T05:51:00.000Z","6.2.9","4.6",[76,97,56,21,98],"hits","postviews","https:\u002F\u002Fglobal-s-h.com\u002Fpvs\u002Fen\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-views-stats-counter.1.1.7.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":13,"downloaded":109,"rating":13,"num_ratings":110,"last_updated":111,"tested_up_to":49,"requires_at_least":17,"requires_php":18,"tags":112,"homepage":117,"download_link":118,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"init-view-count","Init View Count – AI-Powered, Trending, REST API","1.19.3","Init HTML","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrokensmile2103-1\u002F","\u003Cp>\u003Cstrong>Init View Count\u003C\u002Fstrong> is a fast, clean plugin to track post views without clutter. It:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Uses REST API and JS to count real views\u003C\u002Fli>\n\u003Cli>Prevents duplicate counts with session\u002Flocal storage\u003C\u002Fli>\n\u003Cli>Stores counts in meta keys like \u003Ccode>_init_view_count\u003C\u002Fcode>, \u003Ccode>_init_view_day_count\u003C\u002Fcode>, etc.\u003C\u002Fli>\n\u003Cli>Provides \u003Ccode>[init_view_count]\u003C\u002Fcode> and \u003Ccode>[init_view_list]\u003C\u002Fcode> shortcodes\u003C\u002Fli>\n\u003Cli>Includes \u003Ccode>[init_view_ranking]\u003C\u002Fcode> shortcode with tabbed ranking by time range\u003C\u002Fli>\n\u003Cli>Supports template overrides (like WooCommerce)\u003C\u002Fli>\n\u003Cli>Lightweight. No tracking, no admin bloat.\u003C\u002Fli>\n\u003Cli>Includes REST API to query most viewed posts\u003C\u002Fli>\n\u003Cli>Supports pagination in \u003Ccode>[init_view_list]\u003C\u002Fcode> via the \u003Ccode>page\u003C\u002Fcode> attribute\u003C\u002Fli>\n\u003Cli>Batch view tracking support to reduce REST requests on busy sites\u003C\u002Fli>\n\u003Cli>Optional strict IP-based filtering to block fake view requests posted directly to the REST endpoint\u003C\u002Fli>\n\u003Cli>Includes a Dashboard widget to monitor top viewed posts directly in wp-admin\u003C\u002Fli>\n\u003Cli>Learns site-wide traffic shape (hourly & weekday) via AI-powered smoothing\u003C\u002Fli>\n\u003Cli>Shapes cached and updated efficiently with minimal overhead\u003C\u002Fli>\n\u003Cli>Safe reset action to rebuild patterns automatically\u003C\u002Fli>\n\u003Cli>Fully integrated with Trending Engine v3 for uplift-based scoring\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-view-count\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-view-count\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Highlights\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>REST-first design — no jQuery or legacy Ajax\u003C\u002Fli>\n\u003Cli>View tracking powered by time + scroll detection\u003C\u002Fli>\n\u003Cli>Realtime display with optional animated counters\u003C\u002Fli>\n\u003Cli>Fully theme-compatible with overrideable templates\u003C\u002Fli>\n\u003Cli>Developer-friendly with rich filter support\u003C\u002Fli>\n\u003Cli>Optional \u003Ccode>[init_view_ranking]\u003C\u002Fcode> shortcode for tabbed view by day\u002Fweek\u002Fmonth\u002Ftotal\u003C\u002Fli>\n\u003Cli>Assets are only loaded when needed – perfect for performance-conscious themes\u003C\u002Fli>\n\u003Cli>Fully compatible with headless and SPA frameworks (REST-first + lazy)\u003C\u002Fli>\n\u003Cli>Supports batch mode: delay view requests and send in groups (configurable in settings)\u003C\u002Fli>\n\u003Cli>Includes optional Dashboard widget for quick admin overview of top viewed posts\u003C\u002Fli>\n\u003Cli>AI-powered Traffic Shape Learner – understands your site’s hourly & weekly rhythm\u003C\u002Fli>\n\u003Cli>Auto-integrated with Trending Engine v3 for seasonality-aware uplift detection\u003C\u002Fli>\n\u003Cli>Smart fallbacks (day \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> week \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> month \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> total) ensure rankings never run empty\u003C\u002Fli>\n\u003Cli>Ultra-light: only 1 write per increment + 1 rollup per day, cache-first design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Ch3>[init_view_count]\u003C\u002Fh3>\n\u003Cp>Shows current view count for a post. Only works inside a post loop.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>field\u003C\u002Fcode>: \u003Ccode>total\u003C\u002Fcode> (default), \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode> – which counter to display\u003Cbr \u002F>\n– \u003Ccode>format\u003C\u002Fcode>: \u003Ccode>formatted\u003C\u002Fcode> (default), \u003Ccode>raw\u003C\u002Fcode>, or \u003Ccode>short\u003C\u002Fcode> – controls number formatting\u003Cbr \u002F>\n– \u003Ccode>time\u003C\u002Fcode>: \u003Ccode>true\u003C\u002Fcode> to show time diff from post date (e.g. “3 days ago”)\u003Cbr \u002F>\n– \u003Ccode>icon\u003C\u002Fcode>: \u003Ccode>true\u003C\u002Fcode> to display a small SVG icon before the count\u003Cbr \u002F>\n– \u003Ccode>schema\u003C\u002Fcode>: \u003Ccode>true\u003C\u002Fcode> to output schema.org microdata (InteractionCounter)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: add a custom CSS class to the outer wrapper\u003C\u002Fp>\n\u003Ch3>[init_view_list]\u003C\u002Fh3>\n\u003Cp>Show list of most viewed posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>number\u003C\u002Fcode>: Number of posts to show (default: 5)\u003Cbr \u002F>\n– \u003Ccode>page\u003C\u002Fcode>: Show a specific page of results (default: 1)\u003Cbr \u002F>\n– \u003Ccode>post_type\u003C\u002Fcode>: Type of post (default: post)\u003Cbr \u002F>\n– \u003Ccode>template\u003C\u002Fcode>: \u003Ccode>sidebar\u003C\u002Fcode> (default), \u003Ccode>full\u003C\u002Fcode>, \u003Ccode>grid\u003C\u002Fcode>, \u003Ccode>details\u003C\u002Fcode> (can be overridden)\u003Cbr \u002F>\n– \u003Ccode>title\u003C\u002Fcode>: Title above list. Set to empty (\u003Ccode>title=\"\"\u003C\u002Fcode>) to hide\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom class added to wrapper\u003Cbr \u002F>\n– \u003Ccode>orderby\u003C\u002Fcode>: Sort field (default: meta_value_num)\u003Cbr \u002F>\n– \u003Ccode>order\u003C\u002Fcode>: ASC or DESC (default: DESC)\u003Cbr \u002F>\n– \u003Ccode>range\u003C\u002Fcode>: \u003Ccode>total\u003C\u002Fcode>, \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode>, \u003Ccode>trending\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>category\u003C\u002Fcode>: Filter by category slug\u003Cbr \u002F>\n– \u003Ccode>tag\u003C\u002Fcode>: Filter by tag slug\u003Cbr \u002F>\n– \u003Ccode>empty\u003C\u002Fcode>: Message to show if no posts found\u003C\u002Fp>\n\u003Ch3>[init_view_ranking]\u003C\u002Fh3>\n\u003Cp>Show tabbed ranking of most viewed posts. Uses REST API and JavaScript for dynamic loading. Optimized for SPA\u002Fheadless usage.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>tabs\u003C\u002Fcode>: Comma-separated list of ranges. Available: \u003Ccode>total\u003C\u002Fcode>, \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode> (default: all)\u003Cbr \u002F>\n– \u003Ccode>number\u003C\u002Fcode>: Number of posts per tab (default: 5)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom class for outer wrapper\u003C\u002Fp>\n\u003Cp>This shortcode automatically enqueues required JS and uses skeleton loaders while fetching data.\u003C\u002Fp>\n\u003Ch3>REST API\u003C\u002Fh3>\n\u003Cp>This plugin exposes two REST endpoints to interact with view counts: one for recording views and another for retrieving top posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>POST \u002Fwp-json\u002Finitvico\u002Fv1\u002Fcount\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRecord one or more views. Accepts a single post ID or an array of post IDs.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Parameters:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>post_id\u003C\u002Fcode> — \u003Cem>(int|array)\u003C\u002Fem> Required. One or more post IDs to increment view count for.\u003C\u002Fp>\n\u003Cp>This endpoint checks if the post is published, belongs to a supported post type, and applies delay\u002Fscroll config (via JavaScript). It updates total and optionally day\u002Fweek\u002Fmonth view counters.\u003C\u002Fp>\n\u003Cp>Note: The number of post IDs processed per request is limited based on the batch setting in plugin options.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>GET \u002Fwp-json\u002Finitvico\u002Fv1\u002Ftop\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve the most viewed posts, ranked by view count.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Parameters:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>range\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> \u003Ccode>total\u003C\u002Fcode>, \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode>. Defaults to \u003Ccode>total\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>post_type\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> Post type to query. Defaults to \u003Ccode>post\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>number\u003C\u002Fcode> — \u003Cem>(int)\u003C\u002Fem> Number of posts to return. Default: \u003Ccode>5\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>page\u003C\u002Fcode> — \u003Cem>(int)\u003C\u002Fem> Pagination offset. Default: \u003Ccode>1\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>fields\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> \u003Ccode>minimal\u003C\u002Fcode> (id, title, link) or \u003Ccode>full\u003C\u002Fcode> (includes excerpt, thumbnail, type, date, etc.)\u003Cbr \u002F>\n– \u003Ccode>tax\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> Optional. Taxonomy slug (e.g. \u003Ccode>category\u003C\u002Fcode>).\u003Cbr \u002F>\n– \u003Ccode>terms\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> Comma-separated term slugs or IDs.\u003Cbr \u002F>\n– \u003Ccode>no_cache\u003C\u002Fcode> — \u003Cem>(bool)\u003C\u002Fem> If \u003Ccode>1\u003C\u002Fcode>, disables transient caching.\u003C\u002Fp>\n\u003Cp>This endpoint supports filtering and caching, and can be extended to support custom output formats.\u003C\u002Fp>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cp>This plugin provides multiple filters to help developers customize behavior and output in both REST API and shortcode use cases.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_should_count\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAllow or prevent counting views for a specific post.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fcount\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $should_count\u003C\u002Fcode>, \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_meta_key\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nChange the meta key used to read or write view counts.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST & Shortcodes\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $meta_key\u003C\u002Fcode>, \u003Ccode>int|null $post_id\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_after_counted\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRun custom logic after view count has been incremented.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fcount\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>array $updated\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_api_top_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize WP_Query arguments used for \u003Ccode>\u002Ftop\u003C\u002Fcode> endpoint.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $args\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_api_top_item\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify each item before it’s returned in the \u003Ccode>\u002Ftop\u003C\u002Fcode> response.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $item\u003C\u002Fcode>, \u003Ccode>WP_Post $post\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_api_top_cache_time\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust cache time (in seconds) for \u003Ccode>\u002Ftop\u003C\u002Fcode> results.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_top_post_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the list of post types returned by the \u003Ccode>\u002Ftop\u003C\u002Fcode> endpoint.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $post_types\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_query_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter WP_Query args for \u003Ccode>[init_view_list]\u003C\u002Fcode> shortcode.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_list]\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $args\u003C\u002Fcode>, \u003Ccode>array $atts\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_empty_output\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the HTML output when no posts are found.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_list]\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $output\u003C\u002Fcode>, \u003Ccode>array $atts\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_view_list_atts\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify shortcode attributes before WP_Query is run.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_list]\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $atts\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_default_shortcode\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the default shortcode used when auto-inserting view count into post content.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_count]\u003C\u002Fcode> auto-insert\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $shortcode\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_auto_insert_enabled\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nControl whether auto-insert is enabled for a given context.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_count]\u003C\u002Fcode> auto-insert\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $enabled\u003C\u002Fcode>, \u003Ccode>string $position\u003C\u002Fcode>, \u003Ccode>string $post_type\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_engagement_meta_keys\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nChange the meta keys used to retrieve \u003Ccode>like\u003C\u002Fcode> and \u003Ccode>share\u003C\u002Fcode> counts when calculating engagement quality.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Engagement algorithm\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $meta_keys\u003C\u002Fcode> (\u003Ccode>likes\u003C\u002Fcode>, \u003Ccode>shares\u003C\u002Fcode>), \u003Ccode>int $post_id\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_trending_post_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nOverride the list of post types used by the Trending cron calculation.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Cron Trending\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $post_types\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_trending_component_weights\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust weights for Trending score components.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Trending algorithm\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $weights\u003C\u002Fcode> (\u003Ccode>velocity\u003C\u002Fcode>, \u003Ccode>engagement\u003C\u002Fcode>, \u003Ccode>freshness\u003C\u002Fcode>, \u003Ccode>momentum\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Ch3>Template Override\u003C\u002Fh3>\n\u003Cp>To customize output layout, copy any template file into your theme:\u003C\u002Fp>\n\u003Cp>Example: \u003Ccode>your-theme\u002Finit-view-count\u002Fview-list-grid.php\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Count post views accurately via REST API with customizable display. Lightweight, fast, and extensible. Includes shortcode with multiple layouts.",1810,3,"2026-03-04T15:27:00.000Z",[56,113,114,115,116],"rest-api","shortcode","trending-posts","view-counter","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-view-count\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-view-count.1.19.3.zip",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":13,"downloaded":127,"rating":13,"num_ratings":14,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":131,"tags":132,"homepage":135,"download_link":136,"security_score":137,"vuln_count":14,"unpatched_count":27,"last_vuln_date":138,"fetched_at":29},"posts-and-products-views","Posts and Products Views for WooCommerce","2.1.1","CoderPress","https:\u002F\u002Fprofiles.wordpress.org\u002Fcoderpress\u002F","\u003Cp>Posts and Products Views for WooCommerce helps administrators track the popularity of their content by displaying view counts for WordPress posts and WooCommerce products.\u003C\u002Fp>\n\u003Cp>With features supported by the SCI Intelligencia team, this plugin ensures you can monitor which posts and products are performing best at a glance.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>View counts for posts are displayed in \u003Cstrong>WordPress Admin Panel > Posts > All Posts\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>View counts for WooCommerce products are displayed in \u003Cstrong>WordPress Admin Panel > Products > All Products\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>A shortcode \u003Ccode>[papvfwc_views]\u003C\u002Fcode> allows view count display on posts\u002Fpages with customizable options:\n\u003Cul>\n\u003Cli>\u003Ccode>[papvfwc_views text='Views' style='light']\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>[papvfwc_views text='Views' style='dark']\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>[papvfwc_views text='' style='']\u003C\u002Fcode> for default styling.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Admin can edit view counts directly from the post\u002Fpage\u002Fproduct edit page.\u003C\u002Fli>\n\u003Cli>Can be used without WooCommerce for post view tracking.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Default Behavior:\u003C\u002Fstrong>\u003Cbr \u002F>\nOnce activated, no configuration is needed. The plugin automatically displays view counts in WordPress posts and WooCommerce product tables.\u003C\u002Fp>\n","Track and display the view counts of WordPress posts and WooCommerce products in the admin panel and via shortcode.",2503,"2025-12-09T05:00:00.000Z","6.7.5","4.9","5.2.4",[76,21,133,22,134],"products","wc","https:\u002F\u002Fwww.scintelligencia.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fposts-and-products-views.2.1.1.zip",99,"2024-12-13 15:49:08",{"attackSurface":140,"codeSignals":185,"taintFlows":193,"riskAssessment":194,"analyzedAt":201},{"hooks":141,"ajaxHandlers":178,"restRoutes":179,"shortcodes":180,"cronEvents":184,"entryPointCount":14,"unprotectedCount":27},[142,148,153,157,162,166,170,173],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","wp_dashboard_setup","posts_visitors_dashboard_widget","includes\\posts-visitors-dashboard.php",23,{"type":143,"name":149,"callback":150,"file":151,"line":152},"template_redirect","posts_visitors_count","includes\\posts-visitors-functions.php",22,{"type":143,"name":154,"callback":155,"priority":156,"file":151,"line":147},"manage_posts_columns","posts_visitors_add_custom_column",10,{"type":158,"name":159,"callback":160,"file":151,"line":161},"filter","the_content","posts_visitors_print_in_posts",24,{"type":143,"name":163,"callback":164,"priority":156,"file":151,"line":165},"manage_post_posts_custom_column","posts_visitors_add_value_to_column",25,{"type":143,"name":167,"callback":168,"file":169,"line":152},"admin_menu","posts_visitors_settings_menu","includes\\posts-visitors-settings.php",{"type":143,"name":171,"callback":172,"file":169,"line":147},"admin_init","posts_visitors_settings_init",{"type":143,"name":174,"callback":175,"file":176,"line":177},"admin_enqueue_scripts","posts_visitors_admin_enqueue_files","posts-visitors.php",33,[],[],[181],{"tag":4,"callback":182,"file":183,"line":165},"posts_visitors_shortcode","includes\\posts-visitors-shortcode.php",[],{"dangerousFunctions":186,"sqlUsage":187,"outputEscaping":189,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":192},[],{"prepared":27,"raw":27,"locations":188},[],{"escaped":190,"rawEcho":27,"locations":191},21,[],[],[],{"summary":195,"deductions":196},"The \"posts-visitors\" plugin v1.0.0 demonstrates a strong adherence to secure coding practices based on the provided static analysis.  The complete absence of dangerous functions, SQL injection vulnerabilities (all queries use prepared statements), and output escaping issues is commendable. The plugin also shows no history of known vulnerabilities, indicating a potentially mature and well-maintained codebase.  Furthermore, the limited attack surface, consisting solely of a shortcode with no identified unprotected entry points, further strengthens its security posture.\n\nHowever, the analysis does reveal a critical weakness: the complete absence of nonce checks and capability checks. While the current attack surface is small, this oversight means that if any new entry points are introduced or the existing shortcode's functionality evolves to include sensitive operations, it could be vulnerable to CSRF attacks or unauthorized access by users without the necessary permissions. The lack of taint analysis also means that complex data flow vulnerabilities might not have been detected.\n\nIn conclusion, the plugin exhibits excellent fundamental security practices in its current iteration. The developers have done well to avoid common pitfalls. The primary concern lies in the lack of robust authorization and security token checks, which represents a potential future risk if the plugin's functionality expands or if its entry points become more complex. Addressing this oversight would significantly enhance its overall security.",[197,199],{"reason":198,"points":156},"Missing nonce checks",{"reason":200,"points":156},"Missing capability checks","2026-03-16T22:17:18.014Z",{"wat":203,"direct":211},{"assetPaths":204,"generatorPatterns":207,"scriptPaths":208,"versionParams":209},[205,206],"\u002Fwp-content\u002Fplugins\u002Fposts-visitors\u002Fadmin\u002Fcss\u002Fposts-visitors-admin.css","\u002Fwp-content\u002Fplugins\u002Fposts-visitors\u002Fadmin\u002Fjs\u002Fposts-visitors-admin.js",[],[206],[210],"posts-visitors\u002Fadmin\u002Fjs\u002Fposts-visitors-admin.js?ver=",{"cssClasses":212,"htmlComments":217,"htmlAttributes":218,"restEndpoints":220,"jsGlobals":221,"shortcodeOutput":222},[213,214,215,216],"site-visitors","visitors-label","visitors-counter","dashicons-visibility",[],[219],"data-post-visitors-count",[],[],[223,224],"\u003Cdiv class=\"site-visitors\">\u003Cspan class=\"dashicons dashicons-visibility\">\u003C\u002Fspan>\u003Cspan class=\"visitors-label\">","\u003C\u002Fspan>\u003Cspan class=\"visitors-counter\" style=\"font-size:"]