{"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-18T13:29:47","modified_gmt":"2026-05-18T13:29:47","slug":"the-hits-list","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/the-hits-list\/","author":21135085,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"6.9.4","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-18 13:29:47","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":29,"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"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"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},"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"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"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:\/\/s.w.org\/plugins\/geopattern-icon\/the-hits-list.svg","icon_2x":false,"generated":true},"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<\/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 rerun-safe imports<\/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 rerun-safe, so repeating the import does not double-count unchanged source data.<\/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.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:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=304105"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adamgreenwell"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304105"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304105"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304105"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304105"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304105"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}