{"id":282096,"date":"2026-02-18T20:22:57","date_gmt":"2026-02-18T20:22:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/groandeck-dad-jokes\/"},"modified":"2026-02-18T20:22:40","modified_gmt":"2026-02-18T20:22:40","slug":"groandeck-dad-jokes","status":"publish","type":"plugin","link":"https:\/\/ml.wordpress.org\/plugins\/groandeck-dad-jokes\/","author":23452580,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"GroanDeck Dad Jokes","header_author":"GroanDeck","header_description":"Embed a dad joke widget on any page or post. Shows a fresh joke with a \"Next joke\" button. Light\/dark themes, category filters.","assets_banners_color":"","last_updated":"2026-02-18 20:22:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/groandeck.com\/developers","header_author_uri":"https:\/\/groandeck.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":148,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"groandeck","date":"2026-02-18 20:22:40"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"groandeck\/joke-widget":{"name":"groandeck\/joke-widget","title":"GroanDeck Dad Jokes"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Light theme widget","2":"Dark theme widget","3":"Gutenberg block settings"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[233162,230,8468,11438,162],"plugin_category":[43,56],"plugin_contributors":[256144],"plugin_business_model":[],"class_list":["post-282096","plugin","type-plugin","status-publish","hentry","plugin_tags-dad-jokes","plugin_tags-embed","plugin_tags-humor","plugin_tags-jokes","plugin_tags-widget","plugin_category-customization","plugin_category-social-and-sharing","plugin_contributors-groandeck","plugin_committers-groandeck"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/groandeck-dad-jokes.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Add a dad joke widget to your WordPress site in seconds. The widget displays a random joke from GroanDeck's collection of 2,000+ clean, family-friendly dad jokes.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Fresh joke on every page load<\/li>\n<li>\"Next joke\" button for endless entertainment<\/li>\n<li>Light and dark themes<\/li>\n<li>Filter by category (animals, food, science, work, and more)<\/li>\n<li>Gutenberg block + classic shortcode<\/li>\n<li>Lightweight \u2014 under 4 KB<\/li>\n<li>No API key required<\/li>\n<\/ul>\n\n<p><strong>Usage:<\/strong><\/p>\n\n<p>Use the Gutenberg block (search for \"GroanDeck\") or the shortcode:<\/p>\n\n<pre><code>[groandeck]\n<\/code><\/pre>\n\n<p>With options:<\/p>\n\n<pre><code>[groandeck theme=\"dark\" category=\"animals\"]\n<\/code><\/pre>\n\n<p><strong>Categories available:<\/strong><\/p>\n\n<p>animals, back-to-school, books, cars, christmas, clothing, coffee, construction, easter, family, food, gardening, halloween, history, love, math, medical, money, music, nature, ocean, one-liners, puns, school, science, space, sports, technology, thanksgiving, travel, valentines, work.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the GroanDeck service (https:\/\/groandeck.com) to display dad jokes.<\/p>\n\n<h4>What the service does<\/h4>\n\n<p>GroanDeck provides a free API and embeddable widget that serves random dad jokes.<\/p>\n\n<h4>How the plugin uses it<\/h4>\n\n<ul>\n<li>On every page load where the widget is placed, the plugin loads a JavaScript file from <code>https:\/\/groandeck.com\/widget.js<\/code>.<\/li>\n<li>That script fetches a random joke from the GroanDeck API (<code>https:\/\/groandeck.com\/api\/v1\/random<\/code>).<\/li>\n<li>When a visitor clicks \"Next joke\", the script fetches another joke from the same API.<\/li>\n<\/ul>\n\n<h4>What data is sent<\/h4>\n\n<p>Standard HTTP request data (IP address, user agent, referrer) is sent with each API call. No personal data, cookies, or tracking identifiers are transmitted.<\/p>\n\n<h4>Links<\/h4>\n\n<ul>\n<li>Service: <a href=\"https:\/\/groandeck.com\">https:\/\/groandeck.com<\/a><\/li>\n<li>Terms of Service: <a href=\"https:\/\/groandeck.com\/terms\">https:\/\/groandeck.com\/terms<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/groandeck.com\/privacy\">https:\/\/groandeck.com\/privacy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>groandeck-dad-jokes<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Add the block or shortcode to any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>No. The widget works out of the box with no configuration.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20appearance%3F\"><h3>Can I customize the appearance?<\/h3><\/dt>\n<dd><p>Yes. Use <code>theme=\"dark\"<\/code> for dark mode. The widget automatically adapts to a max-width of 400px.<\/p><\/dd>\n<dt id=\"how%20often%20do%20jokes%20change%3F\"><h3>How often do jokes change?<\/h3><\/dt>\n<dd><p>A new joke loads on every page view. Visitors can also click \"Next joke\" to see more.<\/p><\/dd>\n<dt id=\"is%20this%20free%3F\"><h3>Is this free?<\/h3><\/dt>\n<dd><p>Yes, completely free. No premium version, no limits.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Gutenberg block support<\/li>\n<li>Shortcode support<\/li>\n<li>Light\/dark themes<\/li>\n<li>Category filtering<\/li>\n<\/ul>","raw_excerpt":"Embed a dad joke widget on any page or post. Fresh joke on every page load with a &quot;Next joke&quot; button.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/282096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=282096"}],"author":[{"embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/groandeck"}],"wp:attachment":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=282096"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=282096"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=282096"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=282096"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=282096"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=282096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}