{"id":307278,"date":"2026-05-12T23:33:31","date_gmt":"2026-05-12T23:33:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/yuzool-widgets\/"},"modified":"2026-05-12T23:32:13","modified_gmt":"2026-05-12T23:32:13","slug":"yuzool-widgets","status":"publish","type":"plugin","link":"https:\/\/gl.wordpress.org\/plugins\/yuzool-widgets\/","author":23491695,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.6","stable_tag":"1.1.6","tested":"6.9.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Yuzool Widgets","header_author":"Yuzool","header_description":"Build widgets in WordPress admin with Widget Studio, save embed snippets, and place them via shortcode or block.","assets_banners_color":"","last_updated":"2026-05-12 23:32:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.yuzool.com\/widgets\/","header_author_uri":"https:\/\/www.yuzool.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.1.6":{"tag":"1.1.6","author":"yuzool","date":"2026-05-12 23:32:13"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"yuzool\/widgets-embed":{"name":"yuzool\/widgets-embed","title":"Yuzool Widget"}},"tagged_versions":["1.1.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Builder-first admin flow in Yuzool Widgets.","2":"Snippet library and shortcode insertion workflow."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[230,148076,1860,80,241],"plugin_category":[43,56],"plugin_contributors":[262735],"plugin_business_model":[],"class_list":["post-307278","plugin","type-plugin","status-publish","hentry","plugin_tags-embed","plugin_tags-gutenberg","plugin_tags-iframe","plugin_tags-shortcode","plugin_tags-widgets","plugin_category-customization","plugin_category-social-and-sharing","plugin_contributors-yuzool","plugin_committers-yuzool"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/yuzool-widgets.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Yuzool Widgets gives you a full workflow inside WordPress:<\/p>\n\n<ul>\n<li>Builder-first flow: open Widget Studio directly in WordPress admin.<\/li>\n<li>Save reusable embed snippets with your own keys.<\/li>\n<li>Shortcode by key: <code>[yuzool_widget key=\"homepage_reviews\"]<\/code>.<\/li>\n<li>Gutenberg block: <strong>Yuzool Widget<\/strong>.<\/li>\n<li>Fallback embed modes: <code>id<\/code> and direct <code>src<\/code>.<\/li>\n<li>Global defaults for embed height, lazy loading, and sandbox policy.<\/li>\n<li>Responsive container with optional aspect ratio mode.<\/li>\n<\/ul>\n\n<h3>Shortcode<\/h3>\n\n<p>Recommended:<\/p>\n\n<pre><code>[yuzool_widget key=\"homepage_reviews\"]\n<\/code><\/pre>\n\n<p>Fallback by widget id:<\/p>\n\n<pre><code>[yuzool_widget id=\"google-reviews-no-api\"]\n<\/code><\/pre>\n\n<p>Custom height:<\/p>\n\n<pre><code>[yuzool_widget id=\"apps-embed-hub\" height=\"900\"]\n<\/code><\/pre>\n\n<p>Use direct source URL:<\/p>\n\n<pre><code>[yuzool_widget src=\"https:\/\/www.yuzool.com\/widgets\/?widget=countdown\"]\n<\/code><\/pre>\n\n<p>Optional params:<\/p>\n\n<ul>\n<li><code>key<\/code><\/li>\n<li><code>id<\/code><\/li>\n<li><code>src<\/code><\/li>\n<li><code>height<\/code><\/li>\n<li><code>width<\/code><\/li>\n<li><code>title<\/code><\/li>\n<li><code>class<\/code><\/li>\n<li><code>ratio<\/code> (example: <code>16:9<\/code>)<\/li>\n<li><code>lazy<\/code> (<code>1<\/code> or <code>0<\/code>)<\/li>\n<li><code>sandbox<\/code> (<code>1<\/code> or <code>0<\/code>)<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Yuzool Widgets to load the builder interface and render embedded widget content.<\/p>\n\n<p>Service used:\n* Yuzool Widgets: <code>https:\/\/www.yuzool.com\/widgets\/<\/code><\/p>\n\n<p>What it is used for:\n* Loading Widget Studio in WordPress admin.\n* Rendering widget embeds on frontend pages where shortcode\/block embeds are present.<\/p>\n\n<p>What data is sent and when:\n* When an admin opens the Yuzool Widgets builder page, the browser requests resources from <code>yuzool.com<\/code>.\n* When a site visitor loads a page containing a Yuzool widget embed, the browser requests resources from <code>yuzool.com<\/code>.\n* Requests may include technical metadata such as IP address, browser user agent, referrer, and requested widget URL parameters.\n* Embedded widgets may use browser storage\/cookies as part of widget behavior.<\/p>\n\n<p>Terms and privacy:\n* Policies (Terms and Privacy): <code>https:\/\/www.yuzool.com\/policies<\/code><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder <code>yuzool-widgets<\/code> to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>Yuzool Widgets<\/strong> from the Plugins screen.<\/li>\n<li>Open <strong>Yuzool Widgets<\/strong> in the admin sidebar.<\/li>\n<li>Build in Widget Studio, copy snippet, and save it with a key.<\/li>\n<li>Add shortcode or block to any post\/page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20a%20yuzool%20account%3F\"><h3>Does this require a Yuzool account?<\/h3><\/dt>\n<dd><p>No. Basic embeds work without account login.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20gutenberg%3F\"><h3>Can I use this with Gutenberg?<\/h3><\/dt>\n<dd><p>Yes. Use the <strong>Yuzool Widget<\/strong> block.<\/p><\/dd>\n<dt id=\"does%20this%20support%20custom%20widget%20links%20and%20snippet%20libraries%3F\"><h3>Does this support custom widget links and snippet libraries?<\/h3><\/dt>\n<dd><p>Yes. You can use saved snippet <code>key<\/code> values, direct <code>src<\/code> links, or widget <code>id<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Reworked admin notice input handling to avoid direct request superglobal reads.<\/li>\n<li>Updated snippet embed-code intake to use a sanitizing <code>filter_input()<\/code> flow before custom KSES sanitization, addressing WordPress.org plugin-check warnings.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Hardened request-input handling for WordPress.org review: removed unsafe input filter usage and switched to WordPress-native unslash\/sanitize flow for admin notice and snippet form values before validation\/sanitization.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Added explicit external services disclosure for Yuzool Widgets in readme (service usage, data flow, and policy links).<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Replaced direct <code>$_POST['snippet_code']<\/code> read with <code>filter_input()<\/code> flow to satisfy Plugin Checker input-sanitization checks.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Escaped admin output and permission-denied strings for Plugin Checker compliance.<\/li>\n<li>Sanitized saved snippet HTML on input before storage.<\/li>\n<li>Hardened admin notice input handling.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Builder-first admin page with embedded Widget Studio.<\/li>\n<li>Saved snippet library with shortcode keys.<\/li>\n<li>Top-level admin menu icon and widened builder panel.<\/li>\n<li>Gutenberg block support for snippet keys.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Shortcode + Gutenberg block.<\/li>\n<li>Admin settings page.<\/li>\n<\/ul>","raw_excerpt":"Build widgets in WordPress admin using Widget Studio, save snippets, and insert anywhere via shortcode or block.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/307278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=307278"}],"author":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/yuzool"}],"wp:attachment":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=307278"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=307278"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=307278"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=307278"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=307278"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=307278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}