{"id":372220,"date":"2026-09-23T19:55:48","date_gmt":"2026-09-23T19:55:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/hu-challenge\/"},"modified":"2026-09-23T19:55:37","modified_gmt":"2026-09-23T19:55:37","slug":"hu-challenge","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/hu-challenge\/","author":23570088,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"HU Challenge","header_author":"Health Unlimited","header_description":"Health Unlimited member fitness challenges, yards, saved progress, and leaderboards.","assets_banners_color":"","last_updated":"2026-09-23 19:55:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":36,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"healthunlimited","date":"2026-09-23 19:55:37","revision":3710097}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[8579,6165,15738,5494],"plugin_category":[],"plugin_contributors":[282347],"plugin_business_model":[],"class_list":["post-372220","plugin","type-plugin","status-publish","hentry","plugin_tags-challenge","plugin_tags-fitness","plugin_tags-gamification","plugin_tags-leaderboard","plugin_contributors-healthunlimited","plugin_committers-healthunlimited"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/hu-challenge.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>HU Challenge provides a self-contained fitness challenge experience inside WordPress.<\/p>\n\n<p>The plugin includes:<\/p>\n\n<ul>\n<li>Front-end participant registration and login.<\/li>\n<li>First name, last name, email, password, and optional public display name.<\/li>\n<li>Configurable challenge tasks, yard values, daily or weekly limits, and motivational descriptions.<\/li>\n<li>Saved participant activity and an overall leaderboard based on total yards.<\/li>\n<li>A football theme with a 100-yard drive visualization, touchdowns, and score.<\/li>\n<li>A three-day consistency bonus based on activity logged on three different days in a week.<\/li>\n<li>Recent activity history and a short undo window for accidental entries.<\/li>\n<li>Password reset by email using WordPress mail.<\/li>\n<li>Administrator views for challenge setup, leaderboard standings, and activity history.<\/li>\n<li>A Classic theme that can be used as a base for other challenge concepts.<\/li>\n<\/ul>\n\n<p>HU Challenge stores data locally in the WordPress database and does not contact external services.<\/p>\n\n<h4>Source code and build process<\/h4>\n\n<p>HU Challenge does not use npm, webpack, a transpiler, a minifier, or any other JavaScript\/CSS build tool. The files distributed in <code>assets\/<\/code> are human-readable source files loaded directly by WordPress.<\/p>\n\n<p>For clarity, the JavaScript source is also included at <code>src\/hu-challenge.js<\/code>. It is the same source used by the distributed front-end script and requires no compilation or build command.<\/p>\n\n<h4>Challenge seasons<\/h4>\n\n<p>The configured challenge start date is used as the scoring-season identifier. Changing the start date begins a new leaderboard and activity season while preserving prior-season records in the database.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>HU Challenge creates restricted WordPress user accounts for participants and stores participant first name, last name, email address, optional display name, and challenge activity history in the WordPress database.<\/p>\n\n<p>The participant display name and total yards are shown on the public challenge Scoreboard. If no display name is provided, the plugin uses the participant's first name and last initial.<\/p>\n\n<p>Site administrators can view participant names and activity history for challenge administration and prize fulfillment. The plugin does not send participant data to external services.<\/p>\n\n<p>HU Challenge registers with the WordPress Personal Data Export and Erase tools so challenge activity can be included in privacy requests.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>hu-challenge<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin ZIP through Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate HU Challenge.<\/li>\n<li>Create or edit a WordPress page and add the shortcode <code>[hu_challenge]<\/code>.<\/li>\n<li>Open HU Challenge &gt; Challenge Setup to set the challenge name, tagline, dates, and theme.<\/li>\n<li>Review the starter activities under HU Challenge and edit the yard values, limits, descriptions, or motivational text as needed.<\/li>\n<li>Publish the page containing the shortcode.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20participants%20need%20normal%20wordpress%20accounts%3F\"><h3>Do participants need normal WordPress accounts?<\/h3><\/dt>\n<dd><p>No. Participants create an account from the challenge page. The plugin creates a restricted WordPress account behind the scenes and keeps the challenge login experience on the front end.<\/p><\/dd>\n<dt id=\"what%20is%20shown%20on%20the%20public%20leaderboard%3F\"><h3>What is shown on the public leaderboard?<\/h3><\/dt>\n<dd><p>Only the participant display name and total yards. Full names and email addresses are available only to site administrators through WordPress.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20data%20to%20another%20service%3F\"><h3>Does the plugin send data to another service?<\/h3><\/dt>\n<dd><p>No. Challenge data is stored in the site's WordPress database. Password-reset messages are sent through the site's normal WordPress mail configuration.<\/p><\/dd>\n<dt id=\"how%20do%20daily%20and%20weekly%20limits%20work%3F\"><h3>How do daily and weekly limits work?<\/h3><\/dt>\n<dd><p>Each challenge task can be configured as one-time, daily, weekly, or unlimited, with a maximum number of units for that period.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20change%20the%20challenge%20start%20date%3F\"><h3>What happens when I change the challenge start date?<\/h3><\/dt>\n<dd><p>The start date identifies the current scoring season. Changing it begins a new leaderboard without deleting prior-season activity from the database.<\/p><\/dd>\n<dt id=\"does%20deactivating%20or%20deleting%20the%20plugin%20delete%20participant%20data%3F\"><h3>Does deactivating or deleting the plugin delete participant data?<\/h3><\/dt>\n<dd><p>No. Challenge data is intentionally retained so accidental deactivation does not erase participant history. Site administrators can use WordPress privacy tools to erase an individual participant's challenge activity.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added a dedicated <code>hu_challenge_participate<\/code> capability for participant-only REST API access.<\/li>\n<li>Restricted participant state, activity logging, and undo endpoints to challenge participants and administrators.<\/li>\n<li>Added bundled, human-readable front-end JavaScript source and documented that no build tools are required.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added an administrator-controlled Active\/Inactive challenge status.<\/li>\n<li>Challenge dates now define\/display the season but do not automatically disable activity logging.<\/li>\n<li>Fixed the recent-plays query formatting.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved WordPress.org compatibility for custom-table queries and Plugin Check compliance.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Production-ready initial release.<\/li>\n<li>Added GPL licensing metadata and WordPress.org readme documentation.<\/li>\n<li>Added public-request nonce validation for front-end account actions.<\/li>\n<li>Restricted challenge login and password-reset flows to challenge members and administrators.<\/li>\n<li>Added WordPress Personal Data Export and Erase integration.<\/li>\n<li>Added privacy-policy helper text.<\/li>\n<li>Added scoring seasons keyed to challenge start date so future challenges do not mix leaderboard totals.<\/li>\n<li>Preserved administrator-edited starter tasks during plugin upgrades.<\/li>\n<li>Added challenge-date enforcement for activity logging.<\/li>\n<li>Kept total yards as the leaderboard score and Score as the secondary football statistic.<\/li>\n<\/ul>","raw_excerpt":"Create member fitness challenges with saved activity, configurable yard values, seasonal themes, and a public leaderboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/372220","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=372220"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/healthunlimited"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=372220"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=372220"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=372220"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=372220"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=372220"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=372220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}