{"id":304105,"date":"2026-05-18T13:33:24","date_gmt":"2026-05-18T13:33:24","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/the-hits-list\/"},"modified":"2026-05-20T13:39:34","modified_gmt":"2026-05-20T13:39:34","slug":"the-hits-list","status":"publish","type":"plugin","link":"https:\/\/es-uy.wordpress.org\/plugins\/the-hits-list\/","author":21135085,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.01","stable_tag":"1.3.01","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"The Hits List","header_author":"Adam Greenwell","header_description":"Track post views locally, display popular posts, and migrate Top 10 data into a WordPress-native replacement.","assets_banners_color":"","last_updated":"2026-05-20 13:39:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/adamgreenwell.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":70,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"adamgreenwell","date":"2026-05-18 13:29:47"},"1.3.01":{"tag":"1.3.01","author":"adamgreenwell","date":"2026-05-20 13:39:34"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3537364,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3537364,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":{"the-hits-list\/popular-posts":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"the-hits-list\/popular-posts","version":"1.0.0","title":"The Hits List - Popular Posts","category":"widgets","icon":"editor-ol","keywords":["hits list","popular posts","popular","trending","grid","list"],"description":"Display the most popular posts as a list or grid based on view counts","supports":{"html":false,"align":true,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true}},"attributes":{"className":{"type":"string"},"heading_text":{"type":"string","default":"Popular Posts"},"layout":{"type":"string","default":"list"},"grid_columns":{"type":"number","default":3},"daily":{"type":"boolean","default":false},"daily_range":{"type":"string","default":""},"hour_range":{"type":"string","default":""},"limit":{"type":"number","default":10},"offset":{"type":"number","default":0},"post_types":{"type":"array","items":{"type":"string"},"default":["post"]},"show_excerpt":{"type":"boolean","default":false},"show_author":{"type":"boolean","default":false},"show_date":{"type":"boolean","default":false},"disp_list_count":{"type":"boolean","default":true},"post_thumb_op":{"type":"string","default":"inline"},"thumbnail_size":{"type":"string","default":"thumbnail"},"excerpt_length":{"type":"number","default":10},"show_list_markers":{"type":"boolean","default":false},"list_style_type":{"type":"string","default":"disc"}},"textdomain":"the-hits-list","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css"}},"tagged_versions":["1.3.0","1.3.01"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[262246],"plugin_tags":[4121,4155,3280,1086,5990],"plugin_category":[59],"plugin_contributors":[241260],"plugin_business_model":[],"class_list":["post-304105","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-blocks","plugin_tags-migration","plugin_tags-page-views","plugin_tags-popular-posts","plugin_tags-post-views","plugin_category-utilities-and-tools","plugin_contributors-adamgreenwell","plugin_committers-adamgreenwell"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/the-hits-list\/assets\/icon-128x128.png?rev=3537364","icon_2x":"https:\/\/ps.w.org\/the-hits-list\/assets\/icon-256x256.png?rev=3537364","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>The Hits List keeps post view tracking on your own WordPress site and gives you block, widget, and template-tag tools for displaying popular content.<\/p>\n\n<p>Key features:<\/p>\n\n<ul>\n<li>Local view tracking stored in WordPress database tables<\/li>\n<li>Overall and daily popular-post counts<\/li>\n<li>Popular Posts block and widget support with public post type selection<\/li>\n<li>WordPress dashboard cards for daily top posts, all-time top posts, and views over time<\/li>\n<li>Top 10 migration compatibility with resumable rerun-safe imports, WP-CLI tools, legacy widget support, and native widget conversion<\/li>\n<li>REST-based tracking with AJAX fallback<\/li>\n<li>Privacy-policy integration for site owners<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>The Hits List stores post view counts locally in the <code>hits_list<\/code> and <code>hits_list_daily<\/code> database tables (table prefix may vary).<\/p>\n\n<p>It does not send tracking data to a third-party analytics service.<\/p>\n\n<p>Daily tracking buckets are retained for 180 days by default and older rows are removed automatically.<\/p>\n\n<p>You are responsible for describing your use of visitor analytics on your own site as needed.<\/p>\n\n<h3>Source Code and Build Tools<\/h3>\n\n<p>The compiled block assets in <code>blocks\/popular-posts\/build\/<\/code> are generated from the human-readable source files included in <code>blocks\/popular-posts\/src\/<\/code>.<\/p>\n\n<p>To rebuild the block assets:<\/p>\n\n<ol>\n<li>Go to <code>blocks\/popular-posts\/<\/code>.<\/li>\n<li>Run <code>npm install<\/code>.<\/li>\n<li>Run <code>npm run build<\/code>.<\/li>\n<\/ol>\n\n<p>The block build uses <code>@wordpress\/scripts<\/code>. Runtime PHP, vanilla JavaScript, and CSS assets outside the block build are maintained directly in the plugin source.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>the-hits-list<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate The Hits List through the Plugins screen in WordPress.<\/li>\n<li>Go to Settings &gt; The Hits List to configure tracking and display options.<\/li>\n<li>If Top 10 data is detected, use the import button on the settings screen to migrate existing counts.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20send%20data%20to%20a%20third-party%20service%3F\"><h3>Does this send data to a third-party service?<\/h3><\/dt>\n<dd><p>No. The Hits List stores tracking data locally in your WordPress database and does not call a third-party analytics endpoint.<\/p><\/dd>\n<dt id=\"can%20i%20migrate%20from%20top%2010%3F\"><h3>Can I migrate from Top 10?<\/h3><\/dt>\n<dd><p>Yes. The plugin can import compatible overall and daily counts from Top 10 tables. Imports are SQL-backed, resumable, and rerun-safe, so repeating the import does not double-count unchanged source data. Very large imports can be monitored from the settings screen or run through WP-CLI. If Top 10 is deactivated, existing Top 10 Popular Posts widgets can continue rendering through The Hits List using their saved settings, and the settings screen can convert those placements into native The Hits List widgets.<\/p><\/dd>\n<dt id=\"how%20long%20is%20daily%20data%20kept%3F\"><h3>How long is daily data kept?<\/h3><\/dt>\n<dd><p>Daily buckets are retained for 180 days by default. Older daily rows are pruned automatically by a scheduled cleanup task.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.01<\/h4>\n\n<ul>\n<li>Added public post type selection to the Popular Posts block and widget.<\/li>\n<li>Added a legacy Top 10 widget compatibility bridge so existing <code>widget_tptn_pop<\/code> placements keep rendering after Top 10 is deactivated.<\/li>\n<li>Added a native Top 10 widget migrator that rewrites saved sidebar placements while preserving third-party widget metadata.<\/li>\n<li>Reworked Top 10 imports to run in resumable batches with status, progress, cancel\/restart controls, diagnostics, and WP-CLI commands for large migrations.<\/li>\n<li>Reworked Top 10 import tracking to store large rerun state in database tables instead of oversized options.<\/li>\n<li>Improved Top 10 import error messages and asset cache busting in the admin UI.<\/li>\n<li>Added the <code>get_thl_posts()<\/code> helper alias for older integration examples.<\/li>\n<li>Avoided empty <code>.thl-meta<\/code> wrappers when all post meta display options are disabled.<\/li>\n<li>Confirmed compatibility metadata for WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added WordPress dashboard cards for daily top posts, all-time top posts, and views over time.<\/li>\n<li>Added post list table columns for total, daily, and condensed view counts.<\/li>\n<li>Hardened public REST tracking and counter endpoints.<\/li>\n<li>Removed the legacy query-string tracking endpoint.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Normalized tracking to use server-derived blog IDs and validated post targets.<\/li>\n<li>Reworked daily tracking into true site-local day buckets with upgrade migration support.<\/li>\n<li>Added rerun-safe Top 10 import state handling.<\/li>\n<\/ul>","raw_excerpt":"Track post views locally, display popular posts, and migrate Top 10 data into a completely free, drop-in replacement.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=304105"}],"author":[{"embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adamgreenwell"}],"wp:attachment":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304105"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304105"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304105"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304105"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304105"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}