[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fVDD-MS7pPwU1Bj8Z23qgaCBGy5ORIJZS7tnbU5dKUu8":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":138,"fingerprints":250},"simple-like-dislike-posts","Simple Like Dislike Posts","1.0","Piyush Rawat","https:\u002F\u002Fprofiles.wordpress.org\u002Fpiyushrawat-1\u002F","\u003Cp>The plugin provides option for users to add the function to display counter automatically before or after the content as well as to place them manually inside the single.php template file\u003C\u002Fp>\n","Simple Like Dislike Posts provides user a seamless functionality to add LIKE\u002FDISLIKE counter on thier posts.",10,1449,0,"2017-11-23T18:24:00.000Z","4.9.29","4.6","5.2.4",[19,20,21],"counter","like-dislike-posts","posts","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-like-dislike-posts.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"piyushrawat-1",1,30,84,"2026-04-03T23:04:57.628Z",[35,62,81,100,119],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":13,"last_vuln_date":61,"fetched_at":26},"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,100,5,"2025-12-19T18:09:00.000Z","6.9.4","3.1","7.0",[52,53,54,55,56],"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":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":13,"num_ratings":13,"last_updated":72,"tested_up_to":48,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":79,"download_link":80,"security_score":45,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"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","7.4",[19,54,76,77,78],"statistics","tracking","views","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":16,"requires_php":22,"tags":95,"homepage":98,"download_link":99,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"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",[19,96,55,21,97],"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":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":45,"downloaded":108,"rating":45,"num_ratings":109,"last_updated":110,"tested_up_to":48,"requires_at_least":111,"requires_php":74,"tags":112,"homepage":117,"download_link":118,"security_score":45,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"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","5.5",[55,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":45,"downloaded":127,"rating":45,"num_ratings":30,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":17,"tags":131,"homepage":134,"download_link":135,"security_score":136,"vuln_count":30,"unpatched_count":13,"last_vuln_date":137,"fetched_at":26},"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",[19,21,132,78,133],"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":139,"codeSignals":181,"taintFlows":235,"riskAssessment":236,"analyzedAt":249},{"hooks":140,"ajaxHandlers":170,"restRoutes":178,"shortcodes":179,"cronEvents":180,"entryPointCount":60,"unprotectedCount":60},[141,147,153,157,161,165],{"type":142,"name":143,"callback":144,"file":145,"line":146},"filter","the_content","sal_showBeginsHere","functions.php",88,{"type":148,"name":149,"callback":150,"file":151,"line":152},"action","wp_enqueue_scripts","sal_user_scripts_and_styles","simple-like-dislike-posts.php",25,{"type":148,"name":154,"callback":155,"file":151,"line":156},"admin_enqueue_scripts","sal_admin_scripts_and_styles",32,{"type":148,"name":158,"callback":159,"file":151,"line":160},"admin_menu","sal_add_plugin_pages",37,{"type":148,"name":162,"callback":163,"file":151,"line":164},"admin_init","sal_register_plugin_settings",62,{"type":148,"name":166,"callback":167,"file":168,"line":169},"widgets_init","sal_most_liked_posts","widget.php",81,[171,176],{"action":172,"nopriv":173,"callback":172,"hasNonce":174,"hasCapCheck":174,"file":145,"line":175},"sal_simpleAjaxCount",true,false,381,{"action":172,"nopriv":174,"callback":172,"hasNonce":174,"hasCapCheck":174,"file":145,"line":177},382,[],[],[],{"dangerousFunctions":182,"sqlUsage":183,"outputEscaping":207,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":231},[],{"prepared":184,"raw":185,"locations":186},12,9,[187,190,192,194,195,197,199,202,205],{"file":145,"line":188,"context":189},69,"$wpdb->get_var() with variable interpolation",{"file":145,"line":191,"context":189},70,{"file":145,"line":193,"context":189},97,{"file":145,"line":59,"context":189},{"file":145,"line":196,"context":189},376,{"file":145,"line":198,"context":189},377,{"file":200,"line":46,"context":201},"uninstall.php","$wpdb->query() with variable interpolation",{"file":168,"line":203,"context":204},18,"$wpdb->get_results() with variable interpolation",{"file":168,"line":206,"context":189},36,{"escaped":92,"rawEcho":184,"locations":208},[209,212,214,216,218,220,222,224,225,226,228,230],{"file":145,"line":210,"context":211},23,"raw output",{"file":145,"line":213,"context":211},378,{"file":168,"line":215,"context":211},29,{"file":168,"line":217,"context":211},42,{"file":168,"line":219,"context":211},43,{"file":168,"line":221,"context":211},53,{"file":168,"line":223,"context":211},61,{"file":168,"line":164,"context":211},{"file":168,"line":164,"context":211},{"file":168,"line":227,"context":211},65,{"file":168,"line":229,"context":211},66,{"file":168,"line":229,"context":211},[232],{"name":233,"version":25,"knownCves":234},"jQuery",[],[],{"summary":237,"deductions":238},"The \"simple-like-dislike-posts\" v1.0 plugin exhibits a concerning security posture primarily due to its unprotected entry points. The static analysis reveals two AJAX handlers that lack any authentication checks, presenting a significant attack surface that is open to unauthenticated users. This means that any user, logged in or not, could potentially trigger these actions, leading to unintended consequences. Furthermore, a very low percentage (25%) of output escaping indicates a high risk of Cross-Site Scripting (XSS) vulnerabilities. While the plugin has no recorded vulnerability history and avoids dangerous functions, this lack of past issues can be misleading when critical security practices like authentication and output sanitization are neglected. The plugin's strengths lie in its avoidance of file operations and external HTTP requests, and the presence of some prepared statements in its SQL queries. However, the critical absence of nonces and capability checks on its AJAX endpoints, coupled with poor output escaping, outweighs these minor positives, making it a security risk.",[239,241,244,247],{"reason":240,"points":11},"AJAX handlers without auth checks",{"reason":242,"points":243},"Low percentage of properly escaped output",8,{"reason":245,"points":246},"No nonce checks on AJAX handlers",7,{"reason":248,"points":246},"No capability checks on AJAX handlers","2026-03-17T00:08:22.078Z",{"wat":251,"direct":259},{"assetPaths":252,"generatorPatterns":256,"scriptPaths":257,"versionParams":258},[253,254,255],"\u002Fwp-content\u002Fplugins\u002Fsimple-like-dislike-posts\u002Fassets\u002Fjs\u002Fscripts.js","\u002Fwp-content\u002Fplugins\u002Fsimple-like-dislike-posts\u002Fassets\u002Fcss\u002Ffont-awesome.min.css","\u002Fwp-content\u002Fplugins\u002Fsimple-like-dislike-posts\u002Fassets\u002Fcss\u002Fplugin.css",[],[253],[],{"cssClasses":260,"htmlComments":265,"htmlAttributes":266,"restEndpoints":268,"jsGlobals":269,"shortcodeOutput":271},[261,262,263,264],"sal-like-button","sal-dislike-button","sal-like-count","sal-dislike-count",[],[267],"data-post-id",[],[270],"count_ajax",[]]