{"id":257291,"date":"2025-10-24T17:11:27","date_gmt":"2025-10-24T17:11:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lueira-embed\/"},"modified":"2026-06-08T08:59:25","modified_gmt":"2026-06-08T08:59:25","slug":"lueira","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lueira\/","author":23381982,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.7","stable_tag":"1.0.7","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Lueira Embed","header_author":"Maladeta Studio","header_description":"Provides a shortcode that outputs a button opening a modal with an embedded activity iframe.","assets_banners_color":"439377","last_updated":"2026-06-08 08:59:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/lueira.com","header_author_uri":"https:\/\/maladeta.studio","rating":0,"author_block_rating":0,"active_installs":10,"downloads":513,"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":"maladeta","date":"2025-10-24 17:10:50"},"1.0.1":{"tag":"1.0.1","author":"maladeta","date":"2025-11-03 11:14:52"},"1.0.2":{"tag":"1.0.2","author":"maladeta","date":"2025-11-04 19:44:59"},"1.0.4":{"tag":"1.0.4","author":"maladeta","date":"2026-02-13 09:51:52"},"1.0.5":{"tag":"1.0.5","author":"maladeta","date":"2026-02-13 15:10:23"},"1.0.6":{"tag":"1.0.6","author":"maladeta","date":"2026-06-08 08:22:43"},"1.0.7":{"tag":"1.0.7","author":"maladeta","date":"2026-06-08 08:59:25"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3384166,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3384166,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3384166,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.4","1.0.5","1.0.6","1.0.7"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[230,613,80],"plugin_category":[43,56],"plugin_contributors":[249693],"plugin_business_model":[],"class_list":["post-257291","plugin","type-plugin","status-publish","hentry","plugin_tags-embed","plugin_tags-modal","plugin_tags-shortcode","plugin_category-customization","plugin_category-social-and-sharing","plugin_contributors-maladeta","plugin_committers-maladeta"],"banners":{"banner":"https:\/\/ps.w.org\/lueira\/assets\/banner-772x250.png?rev=3384166","banner_2x":"https:\/\/ps.w.org\/lueira\/assets\/banner-1544x500.png?rev=3384166","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/lueira\/assets\/icon.svg?rev=3384166","icon":"https:\/\/ps.w.org\/lueira\/assets\/icon.svg?rev=3384166","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Lueira Embed adds a shortcode that renders a configurable button. The button opens an accessible modal showing an iframe with a Lueira marketplace activity. Administrators can configure the base host URL from the WordPress settings screen.<\/p>\n\n<h3>Usage<\/h3>\n\n<h3>Basic Shortcode<\/h3>\n\n<p>[lueira id=\"cd2j3bkk7mdnur3r857g\" module=\"school\" product_type=\"private\"]<\/p>\n\n<h3>Shortcode Parameters<\/h3>\n\n\n\n\n  Parameter\n  Required\n  Default\n  Description\n\n\n\n\n  <code>id<\/code>\n  Yes\n  -\n  The activity ID to embed\n\n\n  <code>module<\/code>\n  Yes\n  -\n  The module type (e.g., \"school\", \"rent\")\n\n\n  <code>product_type<\/code>\n  No\n  -\n  Optional product type (e.g., \"private\", \"group-package\") included when available\n\n\n  <code>lang<\/code>\n  No\n  \"es\"\n  Language code for localized content, default is \"es\"\n\n\n  <code>button_text<\/code>\n  No\n  \"View activity\"\n  Text displayed on the button\n\n\n  <code>class<\/code>\n  No\n  -\n  Additional CSS classes for the button\n\n\n  <code>show_details<\/code>\n  No\n  <code>true<\/code>\n  Accepts <code>true<\/code> or <code>false<\/code>. When <code>false<\/code>, hides the product header\/details by appending <code>showProductDetails=false<\/code> to the iframe URL\n\n\n  <code>success_url<\/code>\n  No\n  -\n  Absolute URL the buyer is redirected to after a successful payment. Appended as <code>embedSuccessUrl<\/code>. Defaults to the store's own success page when omitted\n\n\n  <code>cancel_url<\/code>\n  No\n  -\n  Absolute URL the buyer is redirected to if they cancel. Appended as <code>embedCancelUrl<\/code>\n\n\n  <code>display<\/code>\n  No\n  \"modal\"\n  <code>modal<\/code> opens the activity in a modal iframe; <code>newtab<\/code> renders a link that opens the activity in a new tab\n\n\n\n\n<p>The query parameters appended to the iframe URL (<code>showProductDetails<\/code>, <code>embedSuccessUrl<\/code>, <code>embedCancelUrl<\/code>) match exactly what the store reads \u2014 they are case-sensitive.<\/p>\n\n<h3>Examples<\/h3>\n\n<ul>\n<li>School Activity (Private): <code>[lueira id=\"456\" module=\"school\" product_type=\"private\" button_text=\"View Activity\"]<\/code><\/li>\n<li>School Group Package in English: <code>[lueira id=\"789\" module=\"school\" product_type=\"group-package\" lang=\"en\" class=\"btn-primary\" button_text=\"Join Group Package\"]<\/code><\/li>\n<li>Rent Bundle with Custom Styling: <code>[lueira id=\"101\" module=\"rent\" product_type=\"bundle\" lang=\"es\" button_text=\"Ver Actividad\" class=\"lueira-embed__trigger--accent\"]<\/code><\/li>\n<li>Hide product details: <code>[lueira id=\"202\" module=\"school\" show_details=\"false\"]<\/code><\/li>\n<li>Custom redirect URLs: <code>[lueira id=\"202\" module=\"shop\" success_url=\"https:\/\/tienda.com\/gracias\" cancel_url=\"https:\/\/tienda.com\/carrito\"]<\/code><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/lueira\/<\/code> or install via the WordPress admin.<\/li>\n<li>Activate through the \u201cPlugins\u201d screen.<\/li>\n<li>Visit <strong>Settings &gt; Lueira Embed<\/strong> to confirm the marketplace host URL.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20embed%20an%20activity%3F\"><h3>How do I embed an activity?<\/h3><\/dt>\n<dd><p>Use <code>[lueira id=\"123\" module=\"school\" product_type=\"private\"]<\/code> in any post or page.<\/p><\/dd>\n<dt id=\"can%20i%20localize%20the%20embed%3F\"><h3>Can I localize the embed?<\/h3><\/dt>\n<dd><p>Yes. Pass the <code>lang<\/code> attribute (for example <code>lang=\"es\"<\/code>) to load the appropriate localized content.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Fix the <code>show_details<\/code> shortcode attribute: it now appends the correct <code>showProductDetails<\/code> query key the store reads, so hiding the product header\/details works (previously it sent <code>show_details<\/code>, which the store ignored).<\/li>\n<li>Add <code>success_url<\/code> and <code>cancel_url<\/code> shortcode attributes, appended as <code>embedSuccessUrl<\/code> \/ <code>embedCancelUrl<\/code>, to control the post-checkout redirect.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Load the store-hosted redirect bridge (embed.js) so the embedded checkout can redirect the parent page to the payment gateway, fixing a Safari\/iOS cross-origin SecurityError that blocked payment from inside the modal. The bridge is shared with non-plugin embeds and served from the configured marketplace host.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Simplify modal behavior for improved WebKit (Safari macOS\/iOS) iframe scrolling.<\/li>\n<li>Keep modal layering robust with high <code>z-index<\/code> defaults.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix mobile modal: full-width dialog and scrollable content on small screens for better UX.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Add the optional <code>show_details<\/code> shortcode attribute that passes the matching query flag to the iframe URL.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Allow shortcode usage without <code>product_type<\/code> and adjust the embed URL accordingly.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with shortcode, modal UI, and admin configuration page.<\/li>\n<\/ul>","raw_excerpt":"A lightweight shortcode that embeds Lueira marketplace activities inside an accessible modal.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/257291","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=257291"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/maladeta"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=257291"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=257291"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=257291"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=257291"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=257291"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=257291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}