{"id":302025,"date":"2026-05-05T05:02:22","date_gmt":"2026-05-05T05:02:22","guid":{"rendered":"https:\/\/es.wordpress.org\/plugins\/pw-ofertas-avanzadas-lite\/"},"modified":"2026-05-05T06:29:06","modified_gmt":"2026-05-05T06:29:06","slug":"pezweb-ofertas-avanzadas","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pezweb-ofertas-avanzadas\/","author":23475124,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.4","stable_tag":"2.2.4","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"PW - Ofertas Avanzadas Lite","header_author":"PezWeb Design Studio","header_description":"Marketing-focused discount campaigns for WooCommerce (Lite edition).","assets_banners_color":"","last_updated":"2026-05-05 06:29:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pezweb.com\/producto\/ofertas-avanzadas\/","header_author_uri":"https:\/\/pezweb.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":93,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.2.1":{"tag":"2.2.1","author":"pezweb","date":"2026-05-05 05:33:55"},"2.2.2":{"tag":"2.2.2","author":"pezweb","date":"2026-05-05 05:35:09"},"2.2.3":{"tag":"2.2.3","author":"pezweb","date":"2026-05-05 06:13:01"},"2.2.4":{"tag":"2.2.4","author":"pezweb","date":"2026-05-05 06:29:06"}},"upgrade_notice":{"2.2.4":"<p>Hotfix: Lite build includes CampaignPostSanitizer.php (wizard save\/validate); Tailwind CSS order uses AssetsManager::CORE_STYLE_HANDLE for older pw\/backend-ui.<\/p>","2.2.1":"<p>Remove all artificial feature limits and locked strategies to comply with WordPress.org guidelines.<\/p>","2.1.1":"<p>Recommended update for WordPress.org metadata, translations, and admin\/frontend styling.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.2.1","2.2.2","2.2.3","2.2.4"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[7644,6744,4033,456,286],"plugin_category":[45,55],"plugin_contributors":[261894],"plugin_business_model":[],"class_list":["post-302025","plugin","type-plugin","status-publish","hentry","plugin_tags-campaigns","plugin_tags-discounts","plugin_tags-lite","plugin_tags-marketing","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-seo-and-marketing","plugin_contributors-pezweb","plugin_committers-pezweb","plugin_committers-userdm"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/pezweb-ofertas-avanzadas.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>PW - Ofertas Avanzadas Lite<\/strong> helps you create and manage discount campaigns in WooCommerce using a guided wizard, several marketing-oriented strategies, and optional on-product badges.<\/p>\n\n<p><strong>Languages:<\/strong> Strings passed through gettext use English as the <code>msgid<\/code> in code; the package includes a Spanish translation (<code>languages\/pezweb-ofertas-avanzadas-es_ES.mo<\/code>). With the site language set to Spanish, WordPress will load those translations for menus, AJAX messages, and JS-localized strings.<\/p>\n\n<p><strong>Pro version:<\/strong> A separate Pro edition with additional strategies and analytics is sold separately by the author and is not distributed through this WordPress.org listing.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does <strong>not<\/strong> call remote APIs or send store data to third-party servers in the background. Wizard and dashboard admin layouts use utility CSS <strong>bundled<\/strong> in the plugin (<code>assets\/css\/pwoa-tailwind-admin.css<\/code>). The bundled design library (<code>pw\/backend-ui<\/code>) loads its own JavaScript and CSS from the plugin package only; it does not load the Tailwind Play CDN.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install it from <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Keep <strong>WooCommerce<\/strong> installed and active.<\/li>\n<li>Open the <strong>Offers<\/strong> menu (the label may appear translated) to create campaigns.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20without%20woocommerce%3F\"><h3>Does it work without WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce is required.<\/p><\/dd>\n<dt id=\"where%20are%20campaigns%20stored%3F\"><h3>Where are campaigns stored?<\/h3><\/dt>\n<dd><p>In custom database tables created when the plugin is activated.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.4<\/h4>\n\n<ul>\n<li>Build: include <code>CampaignPostSanitizer.php<\/code> in the Lite package (fixes campaign save and conditional validation in the wizard).<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>i18n: WordPress 6.7+ compatibility \u2014 defer admin bootstrap (BackendUI, menus) to the <code>init<\/code> action so the <code>pezweb-ofertas-avanzadas<\/code> text domain loads before any translated strings run (fixes <code>_load_textdomain_just_in_time<\/code> doing work too early).<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Plugin Check compliance: resolved all NonceVerification, EscapeOutput, PrefixAllGlobals, and SQL prepared statement warnings.<\/li>\n<li>i18n: all gettext msgids now use English; text domain aligned with slug (pezweb-ofertas-avanzadas).<\/li>\n<li>Build: composer.json bundled with vendor\/; hidden files and dev metadata excluded from ZIP.<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Remove all artificial feature limits and locked strategies to comply with WordPress.org Plugin Directory Guidelines.<\/li>\n<li>Lite build no longer includes Pro-only strategy references, upgrade URLs, or campaign count restrictions.<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Resolve all Plugin Check warnings: wp_unslash on all POST reads, absint for IDs, object cache for direct DB queries, remove deprecated load_plugin_textdomain.<\/li>\n<li>Build: Lite ZIP filename no longer includes -lite suffix (matches wp.org slug).<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Plugin URI now differs from Author URI (WordPress.org requirement).<\/li>\n<li>Lite no longer calls deactivate_plugins(); skips initialization when Pro is active and shows an admin notice instead.<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>WordPress.org: uninstall handler, ZIP verification in build, readme external services; deploy option to keep current version; admin assets and shortcode hygiene.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>WordPress.org readiness: readme stable tag, external services disclosure, English plugin header description.<\/li>\n<li>Pro\/Lite conflict: Pro correctly deactivates the Lite package when both are installed.<\/li>\n<li>i18n: Pro strategy labels use literal translatable strings; product expiry field and storefront notice are translatable.<\/li>\n<li>Styles: product expiry admin\/frontend use enqueued CSS (no inline styles); admin Tailwind utilities built locally (no <code>cdn.tailwindcss.com<\/code>).<\/li>\n<\/ul>\n\n<h4>2.0.18<\/h4>\n\n<ul>\n<li>Readme and branding aligned with PW - Ofertas Avanzadas; Spanish (es_ES) translation; filterable Pro upgrade URL.<\/li>\n<\/ul>","raw_excerpt":"WooCommerce discount campaigns with a guided wizard, strategies, and optional product badges.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302025","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=302025"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pezweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302025"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302025"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302025"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302025"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302025"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}