{"id":266309,"date":"2025-12-30T19:07:00","date_gmt":"2025-12-30T19:07:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/arik-elementor-dynamic-table-widget-elementor-addons-pack\/"},"modified":"2026-05-28T13:15:48","modified_gmt":"2026-05-28T13:15:48","slug":"arik-dynamic-table-addons-for-elementor","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/arik-dynamic-table-addons-for-elementor\/","author":18024400,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.2","stable_tag":"2.0.2","tested":"7.0","requires":"6.6","requires_php":"8.0","requires_plugins":null,"header_name":"Arik Dynamic Table & Addons for Elementor","header_author":"wcblogs87","header_description":"Supercharge Elementor with 22+ premium widgets including dynamic tables, WooCommerce product displays, galleries, pricing tables, hierarchy grids, and advanced content elements.","assets_banners_color":"9a6986","last_updated":"2026-05-28 13:15:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/arik-dynamic-table-addons-for-elementor\/","header_author_uri":"https:\/\/profiles.wordpress.org\/wcblogs87\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":493,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.2":{"tag":"2.0.2","author":"wcblogs87","date":"2026-05-28 13:15:48"}},"upgrade_notice":{"2.0.2":"<p>WordPress 7.0 + WooCommerce 10.7 + Elementor 4.0.9 compatibility. New Arik Product Categories Card widget. Expanded Order By options (Menu Order, Date, Title, Price, etc.). New product reordering controls (Offset, Reverse, Move First to Last) on Product Hierarchy One \/ Hierarchy Grid \/ Magazine Grid. Image Aspect Ratio dropdown restored and extended (1:1, 4:3, 3:2, 16:9, 21:9, 3:4, 2:3, 9:16, Custom). Gray-strip bug under product card images fixed. Horizontal Alignment control fixed on 6 widgets. Non-fatal admin notices replace silent failure when Elementor or PHP is below the required minimum.<\/p>","2.0.0":"<p>Initial release of Arik Dynamic Table &amp; Addons for Elementor - 24+ premium widgets for Elementor including WooCommerce product displays, dynamic tables, galleries, and more.<\/p>\n\n<p>Credits\nDeveloped with \u2764\ufe0f by WCBlogs87 team. Special thanks to the Elementor and WordPress communities for their continuous support and inspiration.<\/p>\n\n<p>Privacy\nThis plugin does not collect, store, or transmit any user data. All settings and configurations are stored locally in your WordPress database.\nWe value your feedback and are constantly working to improve Arik Dynamic Table &amp; Addons for Elementor. If you enjoy using this plugin, please consider leaving a review on WordPress.org!<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3429785,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3429785,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3429790,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3429785,"resolution":"1","location":"assets","locale":"","width":1122,"height":600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3429785,"resolution":"2","location":"assets","locale":"","width":1173,"height":383},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3429785,"resolution":"3","location":"assets","locale":"","width":1191,"height":588}},"screenshots":[]},"plugin_section":[],"plugin_tags":[143165,172067,145606,253047,163031],"plugin_category":[],"plugin_contributors":[246811],"plugin_business_model":[],"class_list":["post-266309","plugin","type-plugin","status-publish","hentry","plugin_tags-elementor-addons","plugin_tags-elementor-table","plugin_tags-elementor-widgets","plugin_tags-grid-widgets","plugin_tags-woocommerce-elementor","plugin_contributors-wcblogs87","plugin_committers-wcblogs87"],"banners":{"banner":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/banner-772x250.png?rev=3429790","banner_2x":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/banner-1544x500.png?rev=3429785","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/icon-256x256.png?rev=3429785","icon_2x":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/icon-256x256.png?rev=3429785","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/screenshot-1.png?rev=3429785","caption":""},{"src":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/screenshot-2.png?rev=3429785","caption":""},{"src":"https:\/\/ps.w.org\/arik-dynamic-table-addons-for-elementor\/assets\/screenshot-3.png?rev=3429785","caption":""}],"raw_content":"<!--section=description-->\n<p>Arik Dynamic Table &amp; Addons for Elementor is a comprehensive collection of premium-quality widgets and content elements designed to extend Elementor's capabilities. Whether you're building eCommerce stores, business websites, or content-rich pages, this plugin provides the tools you need to create stunning, professional layouts without coding.<\/p>\n\n<p>Perfect for WooCommerce stores, this addon pack includes specialized product display widgets, category grids, and hierarchy views alongside versatile content elements like dynamic tables, galleries, pricing tables, and more.<\/p>\n\n<p>\ud83d\ude80 22 Free Premium Elementor Widgets<\/p>\n\n<p><strong>Data Display &amp; Tables<\/strong><\/p>\n\n<ul>\n<li><strong>Dynamic Table<\/strong> - Create beautiful, responsive tables with unlimited rows, column spans, and advanced styling<\/li>\n<li><strong>Pricing Table<\/strong> - Showcase pricing plans with customizable features and call-to-action buttons<\/li>\n<li><strong>Price Menu<\/strong> - Perfect for restaurants and service providers to display menu items and prices<\/li>\n<\/ul>\n\n<p><strong>WooCommerce Product Display<\/strong><\/p>\n\n<ul>\n<li><strong>Product Category Grid Style<\/strong> - Display product categories in elegant grid layouts<\/li>\n<li><strong>Product Categories Card<\/strong> - Circular icon\/image category cards with badge, label, sub-label, and per-item link (Shop-by-Category style)<\/li>\n<li><strong>Product Category Hierarchy Grid Two<\/strong> - Alternative hierarchy display with advanced styling<\/li>\n<li><strong>Product Category Inline Style<\/strong> - Horizontal inline category presentation<\/li>\n<li><strong>Product Hierarchy One Style<\/strong> - Single-column product hierarchy display<\/li>\n<li><strong>Product Magazine Style<\/strong> - Magazine-inspired product showcase layouts<\/li>\n<li><strong>Product Table Style<\/strong> - Display products in organized table formats<\/li>\n<li><strong>Product Tags Style<\/strong> - Stylish product tag clouds and lists<\/li>\n<\/ul>\n\n<p><strong>Content &amp; Media Elements<\/strong><\/p>\n\n<ul>\n<li><strong>Gallery<\/strong> - Create stunning image galleries with multiple layout options<\/li>\n<li><strong>Grid Image Box<\/strong> - Display images in customizable grid layouts with overlays<\/li>\n<li><strong>Text Grid Box<\/strong> - Organize text content in responsive grid structures<\/li>\n<li><strong>Image Captions<\/strong> - Add beautiful, styled captions to your images<\/li>\n<li><strong>Image Or Video<\/strong> - Flexible media display for images and embedded videos<\/li>\n<li><strong>Tabs<\/strong> - Organize content in clean, accessible tabbed interfaces<\/li>\n<li><strong>Heading<\/strong> - Advanced heading styles with custom typography and effects<\/li>\n<\/ul>\n\n<p><strong>Site Elements<\/strong><\/p>\n\n<ul>\n<li><strong>Site Logo &amp; Text<\/strong> - Dynamic site branding with customizable logo and text<\/li>\n<li><strong>Dynamic Page Title<\/strong> - Automatically display page titles with custom styling<\/li>\n<li><strong>Authors Card<\/strong> - Showcase author information with avatars and bio<\/li>\n<li><strong>Contact Info<\/strong> - Display contact details in styled formats<\/li>\n<\/ul>\n\n<p>\u2728 Key Features<\/p>\n\n<ul>\n<li><strong>Fully Dynamic &amp; Intuitive<\/strong> - Build complex layouts with Elementor's visual editor<\/li>\n<li><strong>WooCommerce Optimized<\/strong> - Specialized widgets for product and category display<\/li>\n<li><strong>Advanced Styling Controls<\/strong> - Customize colors, typography, spacing, borders, and effects<\/li>\n<li><strong>Responsive Design<\/strong> - All widgets are mobile-friendly and adapt to any screen size<\/li>\n<li><strong>Performance Focused<\/strong> - Lightweight code following WordPress and Elementor best practices<\/li>\n<li><strong>HPOS Compatible<\/strong> - Full support for WooCommerce High-Performance Order Storage<\/li>\n<li><strong>Multilingual Ready<\/strong> - Translation-ready with included .pot file<\/li>\n<li><strong>Regular Updates<\/strong> - Continuous improvements and new features<\/li>\n<li><strong>Developer Friendly<\/strong> - Clean, well-documented code following WordPress coding standards<\/li>\n<\/ul>\n\n<p>\ud83c\udfaf Perfect For<\/p>\n\n<ul>\n<li><strong>WooCommerce store owners<\/strong><\/li>\n<li><strong>Web designers and agencies<\/strong><\/li>\n<li><strong>Business websites<\/strong><\/li>\n<li><strong>Portfolio sites<\/strong><\/li>\n<li><strong>Restaurant and menu sites<\/strong><\/li>\n<li><strong>Content publishers<\/strong><\/li>\n<li><strong>Bloggers and content creators<\/strong><\/li>\n<\/ul>\n\n<p>\ud83d\udca1 Why Choose Arik Dynamic Table &amp; Addons for Elementor?<\/p>\n\n<p>Unlike bloated addon packs, Arik Dynamic Table &amp; Addons for Elementor focuses on quality over quantity. Each widget is carefully crafted for performance, usability, and design flexibility. The plugin is built specifically for Elementor, ensuring seamless integration and optimal performance.<\/p>\n\n<p>\ud83d\udd17 Get Support &amp; Connect<\/p>\n\n<ul>\n<li><strong>Email Support:<\/strong> helpwcblog@gmail.com<\/li>\n<li><strong>Website:<\/strong> <strong><a href=\"https:\/\/gernx.com\/\">https:\/\/gernx.com\/<\/a><\/strong> <\/li>\n<li><strong>Support Forum:<\/strong> <a href=\"https:\/\/wordpress.org\/support\/plugin\/arik-dynamic-table-addons-for-elementor\/\">WordPress.org Support<\/a><\/li>\n<li><strong>LinkedIn:<\/strong> <a href=\"https:\/\/www.linkedin.com\/company\/gernxit\/\">Gernx IT<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>Automatic Installation<\/p>\n\n<p>Log in to your WordPress dashboard\nNavigate to Plugins \u2192 Add New<\/p>\n\n<p>Search for \"Arik Dynamic Table &amp; Addons for Elementor\"<\/p>\n\n<p>Click \"Install Now\" and then \"Activate\"\nOpen Elementor editor to access all new widgets<\/p>\n\n<p>Manual Installation<\/p>\n\n<p>Download the plugin zip file\nLog in to your WordPress dashboard\nNavigate to Plugins \u2192 Add New \u2192 Upload Plugin<\/p>\n\n<p>Choose the downloaded zip file and click \"Install Now\"<\/p>\n\n<p>After installation, click \"Activate Plugin\"\nOpen Elementor editor - widgets will appear in the elements panel<\/p>\n\n<p>After Activation<\/p>\n\n<p>Edit any page with Elementor<\/p>\n\n<p>Look for \"Arik\" widgets in the left sidebar elements panel\nDrag and drop widgets onto your page\nCustomize using the intuitive controls in the left panel\nPreview and publish your page<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20elementor%20pro%3F\"><h3>Does this plugin require Elementor Pro?<\/h3><\/dt>\n<dd><p>No, Arik Dynamic Table &amp; Addons for Elementor works perfectly with the free version of Elementor. However, it's also fully compatible with Elementor Pro if you have it installed.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20woocommerce%3F\"><h3>Is this compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes! The plugin includes multiple WooCommerce-specific widgets for displaying products, categories, tags, and hierarchies. It's fully compatible with WooCommerce and supports High-Performance Order Storage (HPOS).<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20website%3F\"><h3>Will this slow down my website?<\/h3><\/dt>\n<dd><p>No. Arik Dynamic Table &amp; Addons for Elementor is built with performance in mind. Assets are loaded conditionally - only when widgets are used on a page. The code follows WordPress and Elementor best practices for optimal performance.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20widgets%20on%20the%20same%20page%3F\"><h3>Can I use multiple widgets on the same page?<\/h3><\/dt>\n<dd><p>Absolutely! You can use as many Arik widgets as you need on any page. Each widget instance can have completely different styling and settings.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translation-ready%3F\"><h3>Is the plugin translation-ready?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully translation-ready and includes a .pot file. You can translate it to any language using tools like Loco Translate or WPML.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes! Arik Dynamic Table &amp; Addons for Elementor works with any WordPress theme that supports Elementor. The widgets inherit your theme's styling and can be customized to match your design.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20widget%20styles%3F\"><h3>Can I customize the widget styles?<\/h3><\/dt>\n<dd><p>Yes. Each widget includes extensive styling controls within Elementor's interface. You can customize colors, typography, spacing, borders, backgrounds, and more without writing any code.<\/p><\/dd>\n<dt id=\"is%20there%20documentation%20available%3F\"><h3>Is there documentation available?<\/h3><\/dt>\n<dd><p>Yes, comprehensive documentation is available on our website with tutorials, examples, and best practices for each widget.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20support%3F\"><h3>How do I get support?<\/h3><\/dt>\n<dd><p>You can reach us via email at helpwcblog@gmail.com or through our website contact form. We're committed to providing timely and helpful support.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20content%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my content if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>If you deactivate the plugin, pages using Arik widgets will display Elementor's default \"widget not found\" message. Your content settings are preserved, so reactivating the plugin will restore everything.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.2 - 2026-05-25<\/h4>\n\n<p><strong>New widget, expanded query controls, WordPress 7.0 \/ WooCommerce 10.7 \/ Elementor 4.0.9 readiness, and a round of CSS fixes around image aspect ratio and content alignment.<\/strong><\/p>\n\n<p>DONE<\/p>\n\n<p>New widget\n* New widget: <strong>Arik Product Categories Card<\/strong> \u2014 circular icon \/ image \/ SVG \/ icon-picker category cards with badge, label, sub-label, per-item link, and per-item color overrides. Includes full Style sections: Grid Wrapper, Card, Icon \/ Image, Label &amp; Sub-Label, Hover Effects, and Badge. Layout &amp; Grid section with responsive Columns, Gap, Card Alignment, Text Alignment, and Icon Position (top \/ left \/ right). Link &amp; Accessibility section with three switches: Wrap Entire Card in Link, Show Sub-Label, Show Badge, plus an ARIA Label Fallback.\n* The new widget includes a Backbone <code>content_template()<\/code> for editor live preview, using the official <code>view.addRenderAttribute()<\/code> API.\n* <code>wp_kses<\/code> allowlist for inline SVG content added so SVG icon markup is sanitized before output.\n* Repeater image uses <code>wp_get_attachment_image()<\/code> with <code>loading=\"lazy\"<\/code> and <code>decoding=\"async\"<\/code> when an attachment ID is available, falling back to an escaped URL otherwise.\n* Icon control uses a <code>recommended<\/code> subset to reduce the Elementor icon picker's initial paint cost in the editor.<\/p>\n\n<p>Compatibility\n* Tested with WordPress 7.0 \u2014 <code>Tested up to<\/code> raised from 6.9 \u2192 7.0; <code>Requires at least<\/code> raised from 5.8 \u2192 6.6.\n* Tested with WooCommerce 10.7 \u2014 <code>WC tested up to<\/code> raised from 10.4.2 \u2192 10.7; minimum raised to 8.0.\n* Tested with Elementor 4.0.9 \u2014 <code>Elementor tested up to<\/code> raised from 3.35.6 \u2192 4.0.9; added explicit minimum-version check (3.20.0) with a non-fatal admin notice when below.\n* Added explicit minimum-PHP runtime check with a non-fatal admin notice when below 8.0.\n* Declared compatibility with WooCommerce <code>cart_checkout_blocks<\/code> (alongside the existing <code>custom_order_tables<\/code> \/ HPOS declaration).<\/p>\n\n<p>Order By \u2014 controls added \/ corrected\n* Term-based widgets (Product Category Grid, Product Category Inline, Product Tag): Order By now includes Menu Order, Name, Slug, Product Count, Term ID, Description, Parent, and None. <strong>Menu Order moved to the first position<\/strong> and set as the default.\n* Post \/ product widgets (Product Table, Product Hierarchy Grid, Product Hierarchy One): Order By now includes Menu Order, Date, Last Modified, Title, Slug, ID, Author, Random, and Comment Count. <strong>Menu Order moved to the first position<\/strong> and set as the default.\n* Render-side allowlists tightened to match each query type (<code>get_terms()<\/code> vs <code>WP_Query<\/code>) \u2014 no invalid orderby values can reach the database.\n* Fixed: Product Hierarchy One and Product Hierarchy Grid had <code>'default' =&gt; 'menu_order'<\/code> on the <strong>Order<\/strong> (ASC\/DESC) control, which is not a valid value for that field. Default corrected to <code>ASC<\/code>.\n* Magazine Grid widget: previously had no Order By or Order control at all. Both added, with Menu Order \/ Date \/ Modified \/ Title \/ Price \/ Popularity \/ Rating \/ Random. Price\/Popularity\/Rating map to the correct WooCommerce meta keys (<code>_price<\/code>, <code>total_sales<\/code>, <code>_wc_average_rating<\/code>) with <code>meta_value_num<\/code> orderby.<\/p>\n\n<p>Custom product reordering (Product Hierarchy One, Product Hierarchy Grid, Product Magazine Grid)\n* New control: <strong>Offset<\/strong> \u2014 skip N products from the start of the query result.\n* New control: <strong>Reverse Final Order<\/strong> \u2014 flips the result list end-to-end after the query runs (last product becomes first).\n* New control: <strong>Move First Product to Last<\/strong> \u2014 rotates the front of the list to the back.\n* New control: <strong>Shift Count<\/strong> \u2014 pairs with the rotate switch; rotate any N products from front to back.\n* These controls are applied post-query in PHP, so they work with every Query Type (Recent, Featured, Sale, Best Selling, Top Rated, Manual Selection).<\/p>\n\n<p>Image Aspect Ratio (Product Hierarchy One, Product Hierarchy Grid, Product Category Hierarchy Two)\n* Fixed: in the previous build, an internal Order By patch incorrectly overwrote the <strong>Image Aspect Ratio<\/strong> dropdown options in Product Hierarchy One and Product Hierarchy Grid with order-by values (Menu Order \/ Date \/ Title \/ Slug \/ etc.). Aspect Ratio is now restored to actual aspect values.\n* New options: Auto, 1:1, 4:3, 3:2, 16:9, 21:9, 3:4, 2:3, 9:16, and <strong>Custom<\/strong>.\n* Custom mode adds a slider (0.25 \u2013 4.0, step 0.01) for any free ratio, with responsive overrides per breakpoint.\n* Render-side allowlist tightened so only valid CSS aspect-ratio classes can be emitted.<\/p>\n\n<p>Image fit \/ \"gray strip below product card\" fix\n* Fixed: aspect-ratio CSS was applied to the inner <code>&lt;img&gt;<\/code> (with <code>position: absolute; min-height: 100%<\/code>), causing the image to render shorter than its card and leaving a visible gray strip at the bottom of the card on certain layouts (Product Hierarchy Grid \/ Hierarchy One Featured layouts).\n* Aspect-ratio CSS is now applied to the <strong>card link wrapper<\/strong> instead of the image. The image stays <code>100% \u00d7 100%; object-fit: cover<\/code> and fills the wrapper completely regardless of source dimensions.\n* New <code>.aspect-ratio-3-2<\/code>, <code>.aspect-ratio-2-3<\/code>, and <code>.aspect-ratio-custom<\/code> CSS rules added to support the expanded ratio set.<\/p>\n\n<p>Horizontal Alignment fixes (6 widgets)\n* Fixed: in Product Hierarchy One, Product Hierarchy Grid, Product Magazine Grid, Product Tag, Product Category Hierarchy Grid, and Product Category Hierarchy Two, the <strong>Horizontal Alignment<\/strong> control only emitted one of <code>text-align<\/code> or <code>align-items<\/code> \u2014 but the target content blocks are <code>display: flex; flex-direction: column;<\/code>, where neither property alone produces the expected result. Each widget's control now uses <code>selectors_dictionary<\/code> to emit BOTH <code>align-items<\/code> (the flex cross-axis property that actually moves children) AND <code>text-align<\/code> (for text inside any 100%-width child).\n* Removed hard-coded <code>align-items: flex-start; text-align: left;<\/code> from <code>.arik-prod-content<\/code>, <code>.arik-prod-one-content<\/code>, <code>.arik-product-content<\/code>, and <code>.arik-hierarchy-content<\/code> in the frontend stylesheet \u2014 those were overriding the Horizontal Alignment control. Defaults are now driven by the widget controls themselves.<\/p>\n\n<p>Categories Card widget \u2014 bugs fixed in same release window\n* Fixed: editor's left-side Elements panel went blank when a Categories Card was on the page. Root cause was a <code>TypeError: C.replace is not a function<\/code> in Elementor's <code>ControlIconsView<\/code> \u2014 the icon control had <code>'fa4compatibility' =&gt; 'icon'<\/code>, which made Elementor's FA4\u2192FA5 string migration run against an array value. Removed <code>fa4compatibility<\/code> and gave the control an explicit empty default of <code>{ value: '', library: '' }<\/code>.\n* Fixed: the Backbone <code>content_template()<\/code> had a bare <code>return;<\/code> at the top level (illegal inside Underscore's <code>with(obj){\u2026}<\/code> wrapper), a malformed <code>&lt;# } } #&gt;<\/code> chained brace, an incorrect 5th argument to <code>elementor.helpers.renderIcon()<\/code>, and a <code>print()<\/code> call that isn't exposed in the template scope. All four were causing JS SyntaxErrors that propagated up and blanked the Elements panel. Template rewritten with a single empty-state <code>&lt;# if \u2026 else \u2026 #&gt;<\/code> block, separate <code>&lt;# if #&gt;<\/code> branches per icon type, and a <code>try\/catch<\/code> around the icon render. A JS template compiler\/parser check is now part of the build to prevent recurrence.\n* Fixed: when a Font Awesome SVG with no intrinsic <code>width<\/code>\/<code>height<\/code> (only <code>viewBox<\/code>) was picked, it filled the entire circle wrap. CSS containment box added: <code>.arik-pcc-icon<\/code> is now 60% \u00d7 60% of the wrapper with <code>overflow: hidden<\/code>; <code>&lt;svg&gt;<\/code>, <code>&lt;img&gt;<\/code>, and <code>&lt;i&gt;<\/code> inside fit via <code>object-fit: contain<\/code> or font-size driven by container. Badge still overflows on top of the outer wrap (which keeps <code>overflow: visible<\/code>).\n* Text Alignment in the Categories Card was using <code>text-align<\/code> only on <code>.arik-pcc-text<\/code> (a column flex). Fix uses <code>selectors_dictionary<\/code> to emit both <code>align-items<\/code> and <code>text-align<\/code>, same approach as the 6 widgets above.<\/p>\n\n<p>Hardening\n* All <code>@version<\/code> docblocks across the codebase bumped to 2.0.2 in a single pass.\n* New widget's PHP and JS template are checked at build time: <code>php -l<\/code> on every file, a stub-Elementor harness that loads every widget class without fatal, and a custom Underscore template compiler that parses the <code>content_template()<\/code> JS body through the V8 parser.<\/p>\n\n<p>Removed widgets\n* Removed: <strong>Arik Product Hierarchy Grid Style<\/strong> \u2014 superseded by Arik Product Hierarchy One Style and Arik Product Magazine Style which cover the same use cases with fewer responsive edge cases.\n* Removed: <strong>Arik Product Category Hierarchy Grid<\/strong> \u2014 superseded by Arik Product Category Hierarchy Grid Two and Arik Product Categories Card. Total widget count is now 22 (was 24).\n* The corresponding entries were removed from the admin widget toggles panel and the plugin's widget registry. Existing pages that placed these widgets will render Elementor's \"widget not found\" message; the stored settings remain in the database but cannot be displayed.<\/p>\n\n<p>Editor search &amp; widget title alignment\n* Fixed: six product widgets had a <code>get_title()<\/code> that did not match the title shown in the admin \"Active Widgets\" settings panel. Searching for the admin name (e.g. \"Arik Product Category Inline Style\") returned \"No widget found\" in the Elementor Elements panel. All widget titles are now identical to their admin labels:\n  - Arik Product Category Grid Style\n  - Arik Product Category Hierarchy Grid Two\n  - Arik Product Category Inline Style\n  - Arik Product Hierarchy One Style\n  - Arik Product Magazine Style\n  - Arik Product Tags Style\n* Expanded <code>get_keywords()<\/code> on the same six widgets so partial searches (\"inline\", \"magazine\", \"hierarchy\", \"tag\") also surface them in the Elements panel.<\/p>\n\n<p>Image Aspect Ratio \u2014 Arik Product Category Hierarchy Grid Two\n* Fixed: the Image Aspect Ratio dropdown in Style \u2192 Image Settings had no visible effect because the rule was written to <code>.arik-cat-img<\/code>, an absolute-fill <code>&lt;img&gt;<\/code> element whose <code>width: 100%; height: 100%<\/code> overrode the <code>aspect-ratio<\/code> declaration. The rule is now written to the card item itself (scoped to the \"grid\" layout only \u2014 magazine layout cells keep their grid-area-driven shape). The image inside still fills via <code>object-fit: cover<\/code>. Item Min Height continues to act as a floor.<\/p>\n\n<p>Image Position (Left \/ Right) \u2014 Arik Grid Image Box\n* Fixed: when Image Position was set to Left or Right, the image area expanded to fill the entire card and pushed the title, description, and button out of view. The base CSS now reserves 40% of the card width for the image area when it sits beside the content, with a responsive Image Width control (default desktop 40%, tablet 45%, mobile 100% so the card collapses to vertical on phones). The content area receives <code>min-width: 0<\/code> so its text can wrap inside the flex container.<\/p>\n\n<pre><code>!important removal\n<\/code><\/pre>\n\n<p>* Removed every <code>!important<\/code> declaration from the plugin frontend stylesheet and admin stylesheet. Specificity bumps were added in their place (<code>.elementor-widget<\/code> prefix for frontend rules, <code>.wrap<\/code> prefix for admin rules, full ancestor chains where the rule needs to beat both Elementor's reset CSS and an external theme). Third-party stylesheets shipped with the plugin (Swiper) are untouched.<\/p>\n\n<p>NOT DONE \u2014 pending for a follow-up release<\/p>\n\n<ul>\n<li>Product Table widget did NOT receive the new Offset \/ Reverse \/ Move First to Last \/ Shift Count controls. Different render structure (table rows, not cards) and no immediate bug report against it.<\/li>\n<li>The 18 widgets outside this turn's scope have NOT had a full CSS or responsive audit. Only widgets with a specific reported bug or screenshot from the customer were modified.<\/li>\n<li>No PHPCS \/ WordPress Coding Standards sniff run on the codebase. Conventions followed by hand (tab indent, long array syntax, escape-on-output, sanitize-on-input, type declarations) but not machine-verified.<\/li>\n<li>No <code>content_template()<\/code> was added to the other product widgets (Product Hierarchy One, Hierarchy Grid, Magazine) \u2014 they still re-render on save rather than live in the editor. Only the new Categories Card has live preview.<\/li>\n<li>Icon-picker performance lag in the admin is <strong>mitigated<\/strong> (Categories Card uses the <code>recommended<\/code> subset and a strict <code>condition<\/code> on the control) but not eliminated. The underlying cost is inside Elementor's <code>ControlIconsView<\/code> SVG fetch, not in this plugin.<\/li>\n<li>The CSS aspect-ratio fix and the gray-strip fix have been written and shipped but <strong>have not been visually verified on a live staging site<\/strong> by the plugin author. Customer testing required.<\/li>\n<\/ul>\n\n<h4>2.0.1 - 2026-03-10<\/h4>\n\n<p><strong>Bug Fixes &amp; Code Quality \u2014 Site Logo &amp; Text, Tabs, and Text Grid Box widgets<\/strong><\/p>\n\n<p>Code Standards &amp; Compatibility\n* Fixed: Removed erroneous double backslashes throughout all three widgets (&#092;Elementor&#092; \u2192 \\Elementor&#041;\n  that caused fatal PHP class-not-found errors on strict autoloaders\n* Fixed: Renamed deprecated _register_controls() to register_controls() across all three widgets\n  (the underscore-prefixed method is removed in Elementor 3.x and triggers PHP deprecation notices)\n* Fixed: Added PHP 8.x return type declarations (: string, : array, : void) to all public\n  and protected methods for strict-type compatibility with PHP 8.0\u20138.4\n* Fixed: Replaced all short array syntax [] with long array() syntax to comply with\n  WordPress Coding Standards (WPCS)\n* Removed: Redundant @access phpdoc tags \u2014 visibility is already declared by the method keyword<\/p>\n\n<p>Security Fixes\n* Fixed: $title_tag (Text Grid Box, Site Logo &amp; Text) was passed directly to esc_attr() without\n  being validated first; now allowlisted against a ALLOWED_TITLE_TAGS constant before output,\n  preventing unexpected tag injection\n* Fixed: $wrapper_tag (Site Logo &amp; Text) and $display_type were not allowlisted; both are now\n  validated against defined constant arrays before use in HTML output\n* Fixed: custom_css_class (Text Grid Box) was only run through esc_attr() \u2014 added a\n  sanitize_css_classes() helper that strips non-CSS characters ([^a-zA-Z0-9\\s_-]) before escaping\n* Fixed: Button link attributes in Text Grid Box had class=\"arik-text-box-button\" set as a raw\n  inline attribute alongside print_render_attribute_string(), producing a duplicate class attribute\n  in the DOM; class is now registered on the same handle via add_render_attribute() and merged correctly\n* Fixed: External links in content_template() JS templates were missing rel=\"noopener noreferrer\";\n  a relParts[] accumulator now builds the rel attribute correctly for external and nofollow combinations<\/p>\n\n<p>Control Registration Fixes\n* Fixed: Opacity SLIDER controls (Site Logo &amp; Text, normal and hover tabs) had a flat range array\n  (range =&gt; [min, max, step]) instead of the required unit-keyed structure\n  (range =&gt; [px =&gt; [min, max, step]]); the flat structure is silently ignored by Elementor,\n  meaning the slider had no enforced range limits in the editor\n* Fixed: Tabs widget content section was missing an explicit tab =&gt; TAB_CONTENT declaration,\n  causing it to appear outside the Content tab in some Elementor versions\n* Fixed: nav_border_radius in the Tabs widget used add_control() instead of add_responsive_control(),\n  preventing per-breakpoint border-radius overrides on tablet and mobile<\/p>\n\n<p>Render &amp; Editor Fixes\n* Fixed: render() in the Tabs widget output class and data-* attributes via raw string concatenation\n  inside HTML; replaced with add_render_attribute() \/ print_render_attribute_string() to properly\n  integrate with Elementor's attribute pipeline (CSS animations, dynamic tags, motion effects)\n* Fixed: Inline editing in Site Logo &amp; Text used two separate render-attribute handles for the same\n  element (title_text and custom_text); consolidated into a single title_element handle using\n  add_render_attribute() array syntax to prevent duplicate or missing attributes on the title tag\n* Fixed: Empty $settings['text_boxes'] \/ $settings['tabs'] check silently returned with no output;\n  replaced with a visible printf() editor notice so content authors see actionable feedback\n  instead of a blank widget in the Elementor panel<\/p>\n\n<p>New: content_template() \u2014 Backbone JS Live Preview\n* Added: content_template() to all three widgets (was entirely absent), enabling live preview\n  updates in the Elementor editor without a page reload\n* All three JS templates use view.addRenderAttribute() \/ view.getRenderAttributeString() \u2014 the\n  official Elementor JS API \u2014 instead of manual string concatenation for safe attribute output\n* Site Logo &amp; Text: view.addInlineEditingAttributes('custom_text', 'none') correctly wires up\n  double-click-to-edit in the editor (replaces manual data-* attribute strings)\n* Text Grid Box: Applies an inline grid-template-columns style in the JS template so column-count\n  changes are reflected in real time before the Elementor dynamic stylesheet is regenerated\n* Tabs &amp; Text Grid Box: Uses _.each() for repeater iteration, {{ }} double-mustache for plain-text\n  titles (HTML-escaped), and {{{ }}} triple-mustache for WYSIWYG content (raw HTML rendered)\n* All JS templates include allowlist guards for title tags and wrapper tags to mirror the PHP\n  render() security model on the editor side<\/p>\n\n<p>Refactoring\n* Refactored: Monolithic register_controls() split into focused protected helper methods\n  in all three widgets \u2014 register_content_controls(), register_nav_style_controls(),\n  register_box_style_controls(), etc. \u2014 for improved readability and maintainability\n* Added: ALLOWED_TITLE_TAGS and ALLOWED_WRAPPER_TAGS as protected const on relevant widget\n  classes, making the allowlists reusable across both render() and content_template()<\/p>\n\n<h4>2.0.0 - 2025-12-04<\/h4>\n\n<p>Initial release<\/p>\n\n<p>22 free premium Elementor widgets and content elements\nWooCommerce product display widgets\nDynamic table with unlimited rows and columns\nAdvanced styling controls for all widgets\nFully responsive and mobile-optimized\nHPOS compatibility\nTranslation-ready with .pot file\nPerformance optimizations<\/p>","raw_excerpt":"Supercharge your Elementor page builder with 22 powerful widgets and content elements for dynamic tables, product displays, galleries, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/266309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=266309"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wcblogs87"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=266309"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=266309"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=266309"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=266309"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=266309"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=266309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}