{"id":339547,"date":"2026-07-24T10:58:18","date_gmt":"2026-07-24T10:58:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sidocode-selling-points-payment-icons\/"},"modified":"2026-07-24T10:57:51","modified_gmt":"2026-07-24T10:57:51","slug":"sidocode-selling-points-payment-icons","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sidocode-selling-points-payment-icons\/","author":23471844,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Sidocode Selling Points & Payment Icons","header_author":"sidocode","header_description":"Display selling-point benefit icons and a payment icons bar on WooCommerce product pages. Multiple layouts, per-product overrides, and conditional asset loading.","assets_banners_color":"e4f4fb","last_updated":"2026-07-24 10:57:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":49,"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":"sidocode","date":"2026-07-24 10:57:51"}},"upgrade_notice":{"1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3621179,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3621179,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3621179,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3621179,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Global settings \u2014 Display Settings section showing layout, mobile layout, and position options.","2":"Global settings \u2014 Appearance section showing colour, size, alignment, and font weight controls.","3":"Global settings \u2014 Carousel and Flash Rotate interval settings.","4":"Global settings \u2014 Category Page section showing enable toggle, position, desktop layout, mobile layout, and alignment.","5":"Global settings \u2014 Benefit items repeater with draggable rows, icon picker, and image upload.","6":"Global settings \u2014 Import \/ Export panel.","7":"Product Data \u2192 Benefits tab showing the per-product override checkbox and items repeater.","8":"Products \u2192 Categories edit screen showing the per-category override fields.","9":"Frontend \u2014 Icon List layout on a product page.","10":"Frontend \u2014 Carousel layout with navigation arrows and dot indicators.","11":"Frontend \u2014 Flash Rotate layout animating items in sequence.","12":"Frontend \u2014 Grid layout showing four benefits in a responsive grid.","13":"Frontend \u2014 Inline Compact layout in a narrow bar with dividers.","14":"Frontend \u2014 Benefit bar displayed on a category archive page."}},"plugin_section":[],"plugin_tags":[255165,273140,273139,242305,286],"plugin_category":[45],"plugin_contributors":[177527,259526],"plugin_business_model":[],"class_list":["post-339547","plugin","type-plugin","status-publish","hentry","plugin_tags-payment-icons","plugin_tags-product-benefits","plugin_tags-selling-points","plugin_tags-trust-badges","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kusimo","plugin_contributors-sidocode","plugin_committers-sidocode"],"banners":{"banner":"https:\/\/ps.w.org\/sidocode-selling-points-payment-icons\/assets\/banner-772x250.png?rev=3621179","banner_2x":"https:\/\/ps.w.org\/sidocode-selling-points-payment-icons\/assets\/banner-1544x500.png?rev=3621179","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sidocode-selling-points-payment-icons\/assets\/icon-128x128.gif?rev=3621179","icon_2x":"https:\/\/ps.w.org\/sidocode-selling-points-payment-icons\/assets\/icon-256x256.gif?rev=3621179","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Sidocode Selling Points &amp; Payment Icons for WooCommerce<\/strong> lets you add a benefit bar to your product and category pages \u2014 showing icons with titles and descriptions to highlight key selling points like free shipping, secure payment, easy returns, and more.<\/p>\n\n<h3>Key Features<\/h3>\n\n<p><strong>Five Display Layouts<\/strong><\/p>\n\n<ul>\n<li><strong>Icon List<\/strong> \u2014 A clean horizontal or wrapping list of benefit items, each with an icon, title, and description.<\/li>\n<li><strong>Carousel<\/strong> \u2014 A smooth sliding carousel with optional navigation arrows, dot indicators, and configurable auto-play interval.<\/li>\n<li><strong>Flash Rotate<\/strong> \u2014 Items animate in one at a time, rotating at a configurable interval \u2014 ideal for compact bars.<\/li>\n<li><strong>Grid<\/strong> \u2014 A responsive grid of benefit items, great for showcasing multiple features at a glance.<\/li>\n<li><strong>Inline Compact<\/strong> \u2014 A tightly spaced single-line bar with separator dividers, perfect for narrow spaces.<\/li>\n<\/ul>\n\n<p><strong>Flexible Display Positions (Product Pages)<\/strong><\/p>\n\n<p>Choose where the benefit bar appears on single product pages:<\/p>\n\n<ul>\n<li>Before Add to Cart Form<\/li>\n<li>After Add to Cart Form<\/li>\n<li>After Add to Cart Button<\/li>\n<li>After Product Price<\/li>\n<li>Before Single Product<\/li>\n<li>Shortcode Only \u2014 use <code>[ssppi_benefits]<\/code> for full manual control<\/li>\n<\/ul>\n\n<p><strong>Mobile Layout Override<\/strong><\/p>\n\n<p>Set a different layout for screens 768 px wide and below \u2014 for example, use Icon List on desktop but switch to Carousel on mobile.<\/p>\n\n<p><strong>Per-Product Overrides<\/strong><\/p>\n\n<p>Each product has a dedicated <strong>Benefits<\/strong> tab inside the WooCommerce Product Data metabox. Check the override checkbox to replace the global benefit items with a custom set for that product only.<\/p>\n\n<p><strong>Per-Category Overrides<\/strong><\/p>\n\n<p>Each WooCommerce product category (Products \u2192 Categories) has a Product Benefits section. Check the override checkbox to define custom benefit items for that category. Products in that category will display the category's items when no product-level override is set.<\/p>\n\n<p><strong>Benefit Bar on Category Archive Pages<\/strong><\/p>\n\n<p>Optionally display the benefit bar on WooCommerce category\/shop archive pages. Configure:<\/p>\n\n<ul>\n<li><strong>Enable\/Disable<\/strong> independently from product page display<\/li>\n<li><strong>Position<\/strong> \u2014 After Category Description\/Title, or Before the Product Grid<\/li>\n<li><strong>Category Desktop Layout<\/strong> \u2014 Override the global desktop layout for category pages<\/li>\n<li><strong>Category Mobile Layout<\/strong> \u2014 Override mobile layout separately for category pages<\/li>\n<li><strong>Category Content Alignment<\/strong> \u2014 Override content alignment for category pages<\/li>\n<\/ul>\n\n<p><strong>Three-Tier Item Hierarchy<\/strong><\/p>\n\n<p>Items are resolved in this order:\n1. Product-level override (if enabled for that product)\n2. Category-level override (checks all categories assigned to the product)\n3. Global items (fallback for all products and category pages)<\/p>\n\n<p><strong>Three Icon Types per Item<\/strong><\/p>\n\n<ul>\n<li><strong>Icon Library<\/strong> \u2014 12 built-in SVG icons: Shipping, Guarantee, Returns, Secure Payment, Top Rated, Fast Delivery, Free Gift, Satisfaction, Best Price, 24\/7 Support, Award\/Quality, Package<\/li>\n<li><strong>Image<\/strong> \u2014 Upload any image via the WordPress Media Library<\/li>\n<li><strong>None (Text Only)<\/strong> \u2014 Show only the title and description without any icon<\/li>\n<\/ul>\n\n<p><strong>Appearance Controls<\/strong><\/p>\n\n<ul>\n<li>Icon Size (px)<\/li>\n<li>Background Color<\/li>\n<li>Text Color<\/li>\n<li>Title Color<\/li>\n<li>Column Gap (px)<\/li>\n<li>Title Font Weight (Normal 400 through Extra Bold 800)<\/li>\n<li>Content Alignment (Left, Center, Right)<\/li>\n<li>Description Display (Single Line with overflow clip, or Multi Line with natural wrap)<\/li>\n<\/ul>\n\n<p><strong>Carousel &amp; Flash Rotate Settings<\/strong><\/p>\n\n<ul>\n<li>Show\/hide navigation arrows on the carousel<\/li>\n<li>Configurable auto-play interval (set 0 to disable)<\/li>\n<li>Active dot colour<\/li>\n<li>Flash Rotate rotation interval<\/li>\n<\/ul>\n\n<p><strong>Shortcode<\/strong><\/p>\n\n<p>Use the shortcode anywhere in your content for full manual placement:<\/p>\n\n<pre><code>[ssppi_benefits]\n<\/code><\/pre>\n\n<p>Optional attributes:<\/p>\n\n<ul>\n<li><code>layout<\/code> \u2014 Override the layout for this instance (e.g. <code>layout=\"carousel\"<\/code>)<\/li>\n<li><code>product_id<\/code> \u2014 Display benefits for a specific product (e.g. <code>product_id=\"42\"<\/code>)<\/li>\n<\/ul>\n\n<p>Example: <code>[ssppi_benefits layout=\"grid\" product_id=\"123\"]<\/code><\/p>\n\n<p><strong>Import \/ Export<\/strong><\/p>\n\n<p>Export all global benefit items and plugin settings to a JSON file from the plugin settings page. Import a previously exported file to restore your configuration \u2014 useful for migrating between sites or keeping backups. Per-product and per-category overrides are not included in the export.<\/p>\n\n<p><strong>Theme Templates<\/strong><\/p>\n\n<p>All five layout templates can be overridden from your theme. Copy any template file from <code>wp-content\/plugins\/woocommerce-product-benefits\/templates\/<\/code> to <code>wp-content\/themes\/your-theme\/woocommerce-product-benefits\/<\/code> and customise freely.<\/p>\n\n<p><strong>Developer Hooks<\/strong><\/p>\n\n<ul>\n<li><code>ssppi_render_items<\/code> \u2014 Filter benefit items before rendering on product pages<\/li>\n<li><code>ssppi_render_settings<\/code> \u2014 Filter display settings before rendering on product pages<\/li>\n<li><code>ssppi_render_category_items<\/code> \u2014 Filter benefit items before rendering on category pages<\/li>\n<li><code>ssppi_render_category_settings<\/code> \u2014 Filter display settings before rendering on category pages<\/li>\n<li><code>ssppi_pi_render_items<\/code> \u2014 Filter payment icon items before rendering<\/li>\n<li><code>ssppi_pi_render_settings<\/code> \u2014 Filter payment icon display settings before rendering<\/li>\n<\/ul>\n\n<p><strong>Payment Icons Bar<\/strong><\/p>\n\n<p>Display a row of accepted payment method icons anywhere on your store. Goes alongside \u2014 but is completely independent of \u2014 the benefit bar.<\/p>\n\n<ul>\n<li><strong>Built-in icon library<\/strong> \u2014 a broad set of payment SVGs (Visa, Mastercard, PayPal, Apple Pay, Google Pay, Stripe, and more), always color-accurate.<\/li>\n<li><strong>Two icon types<\/strong> \u2014 library icons or WordPress Media Library image.<\/li>\n<li><strong>Three placement options<\/strong> \u2014 product page (before or after the Add to Cart form), cart page (before or after the Checkout button), and the site-wide footer.<\/li>\n<li><strong>Flexible header<\/strong> \u2014 optional title with configurable text, font size, font weight (300\u2013700), color, and left\/center\/right alignment. Optional lock icon beside the title.<\/li>\n<li><strong>Banner layout<\/strong> \u2014 Column mode (header stacks above icons) or Row mode (header and icons sit side by side, with optional mobile stack).<\/li>\n<li><strong>Style modes<\/strong> \u2014 Default (full color) or Monochrome (grayscale filter).<\/li>\n<li><strong>Sizing and spacing<\/strong> \u2014 separate icon sizes and gap values for desktop and mobile.<\/li>\n<li><strong>Placement CSS classes<\/strong> \u2014 each placement adds a modifier class (<code>ssppi-pi-placement-footer<\/code>, <code>ssppi-pi-placement-product<\/code>, <code>ssppi-pi-placement-cart<\/code>) so you can style each location independently from your theme stylesheet.<\/li>\n<li><strong>No render-blocking CSS<\/strong> \u2014 styles are inlined via <code>wp_add_inline_style<\/code> rather than a <code>&lt;link&gt;<\/code> tag; assets load only on pages that actually display the bar.<\/li>\n<li><strong>Live admin preview<\/strong> \u2014 changes to all settings are reflected instantly in a sticky preview panel beside the icon picker.<\/li>\n<li><strong>Theme template override<\/strong> \u2014 copy <code>templates\/payment-icons.php<\/code> to your theme to fully customise the markup.<\/li>\n<\/ul>\n\n<p><strong>Performance<\/strong><\/p>\n\n<p>CSS and JavaScript are registered early and enqueued only on pages that actually display a benefit bar or payment icons bar. No assets are loaded on unrelated pages. Payment icon styles are fully inlined to avoid render-blocking requests on above-fold content.<\/p>\n\n<p><strong>WooCommerce HPOS Compatible<\/strong><\/p>\n\n<p>Fully compatible with WooCommerce High Performance Order Storage (Custom Order Tables).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>woocommerce-product-benefits<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly via the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Product Benefits<\/strong> to configure global items and settings.<\/li>\n<li>Optionally open any product's <strong>Product Data \u2192 Benefits<\/strong> tab to set per-product overrides.<\/li>\n<li>Optionally open any product category (<strong>Products \u2192 Categories \u2192 Edit<\/strong>) to set per-category overrides.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and active. The plugin will display an admin notice and will not load if WooCommerce is missing.<\/p><\/dd>\n<dt id=\"how%20does%20the%20item%20hierarchy%20work%3F\"><h3>How does the item hierarchy work?<\/h3><\/dt>\n<dd><p>When displaying benefits for a product, the plugin checks in this order:\n1. Does the product have its own override enabled? If yes, use the product's items.\n2. Does any category assigned to this product have an override enabled? If yes, use the first matching category's items.\n3. Otherwise fall back to the global items configured in WooCommerce \u2192 Settings \u2192 Product Benefits.<\/p><\/dd>\n<dt id=\"can%20i%20use%20different%20layouts%20on%20the%20same%20site%3F\"><h3>Can I use different layouts on the same site?<\/h3><\/dt>\n<dd><p>Yes. The global layout applies to all product pages. You can override it per shortcode instance using the <code>layout<\/code> attribute. For category archive pages, you can set a separate desktop and mobile layout independently.<\/p><\/dd>\n<dt id=\"will%20the%20carousel%20work%20without%20javascript%3F\"><h3>Will the carousel work without JavaScript?<\/h3><\/dt>\n<dd><p>The carousel and flash-rotate layouts require JavaScript to animate. Icon list, grid, and inline layouts are pure CSS and work without JavaScript.<\/p><\/dd>\n<dt id=\"can%20i%20override%20templates%20in%20my%20theme%3F\"><h3>Can I override templates in my theme?<\/h3><\/dt>\n<dd><p>Yes. Copy any file from <code>plugins\/woocommerce-product-benefits\/templates\/<\/code> to <code>themes\/your-theme\/woocommerce-product-benefits\/<\/code> and it will be used instead of the plugin's version.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20shortcode%3F\"><h3>How do I use the shortcode?<\/h3><\/dt>\n<dd><p>Place <code>[ssppi_benefits]<\/code> anywhere in a post or page. Optional attributes:\n* <code>layout=\"carousel\"<\/code> \u2014 forces a specific layout for this instance\n* <code>product_id=\"42\"<\/code> \u2014 shows benefits for a specific product instead of the current post<\/p><\/dd>\n<dt id=\"what%20does%20export%20include%3F\"><h3>What does Export include?<\/h3><\/dt>\n<dd><p>The export JSON contains all plugin settings and global benefit items. It does not include per-product or per-category overrides. Importing overwrites the current global settings and items.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20woocommerce%20hpos%3F\"><h3>Is this compatible with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with WooCommerce High Performance Order Storage (Custom Order Tables).<\/p><\/dd>\n<dt id=\"what%20is%20the%20payment%20icons%20bar%20and%20how%20does%20it%20differ%20from%20the%20benefit%20bar%3F\"><h3>What is the Payment Icons bar and how does it differ from the benefit bar?<\/h3><\/dt>\n<dd><p>The Payment Icons bar is a separate, independent feature for displaying accepted payment method logos (Visa, Mastercard, PayPal, etc.). It has its own settings page under WooCommerce \u2192 Settings \u2192 Product Benefits \u2192 Payment Icons. It does not share items, settings, or templates with the benefit bar \u2014 both can be active on the same page simultaneously.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20payment%20icons%20bar%20differently%20in%20the%20footer%20versus%20the%20product%20page%3F\"><h3>Can I style the payment icons bar differently in the footer versus the product page?<\/h3><\/dt>\n<dd><p>Yes. When the bar is rendered, a placement modifier class is added to the wrapper: <code>ssppi-pi-placement-footer<\/code> in the footer, <code>ssppi-pi-placement-product<\/code> on product pages, and <code>ssppi-pi-placement-cart<\/code> on the cart. Use these classes in your theme stylesheet to target each location independently.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>\n\n<p><strong>Five frontend layouts<\/strong><\/p>\n\n<ul>\n<li>Icon List \u2014 horizontal\/wrapping list with icon, title, description.<\/li>\n<li>Carousel \u2014 sliding carousel with optional arrows, dots, and auto-play.<\/li>\n<li>Flash Rotate \u2014 single-item rotation animation.<\/li>\n<li>Grid \u2014 responsive CSS grid of benefit items.<\/li>\n<li>Inline Compact \u2014 single-line bar with divider separators.<\/li>\n<\/ul>\n\n<p><strong>Display position<\/strong><\/p>\n\n<ul>\n<li>Six positions on product pages: Before\/After Add to Cart Form, After Add to Cart Button, After Price, Before Single Product, Shortcode Only.<\/li>\n<\/ul>\n\n<p><strong>Mobile layout<\/strong><\/p>\n\n<ul>\n<li>Independent mobile layout override for screens \u2264 768 px (Same as Desktop \/ Flash Rotate \/ Carousel \/ Stack).<\/li>\n<\/ul>\n\n<p><strong>Per-product overrides<\/strong><\/p>\n\n<ul>\n<li>Benefits tab added to WooCommerce Product Data metabox.<\/li>\n<li>Override checkbox with items repeater; items saved as sanitized JSON post meta.<\/li>\n<li>Nonce verification and <code>edit_post<\/code> capability check on save.<\/li>\n<\/ul>\n\n<p><strong>Per-category overrides<\/strong><\/p>\n\n<ul>\n<li>Benefits section added to product category add and edit screens.<\/li>\n<li>Override checkbox with items repeater; items saved as sanitized JSON term meta.<\/li>\n<li>Nonce verification and <code>manage_product_terms<\/code> capability check on save.<\/li>\n<\/ul>\n\n<p><strong>Three-tier item hierarchy<\/strong><\/p>\n\n<ul>\n<li>Resolution order: product override \u2192 category override \u2192 global fallback.<\/li>\n<\/ul>\n\n<p><strong>Category archive page display<\/strong><\/p>\n\n<ul>\n<li>Enable\/disable benefit bar on category archive pages independently.<\/li>\n<li>Two position options: After Category Description\/Title or Before Product Grid.<\/li>\n<li>Category Desktop Layout (inherits global or overrides to a specific layout).<\/li>\n<li>Category Mobile Layout (inherits global mobile setting or overrides independently).<\/li>\n<li>Category Content Alignment (inherits global or overrides to Left\/Center\/Right).<\/li>\n<\/ul>\n\n<p><strong>Three icon types<\/strong><\/p>\n\n<ul>\n<li>Built-in SVG icon library with 12 icons.<\/li>\n<li>WordPress Media Library image upload.<\/li>\n<li>None (text-only items).<\/li>\n<\/ul>\n\n<p><strong>Appearance settings<\/strong><\/p>\n\n<ul>\n<li>Icon size, background color, text color, title color, column gap.<\/li>\n<li>Title font weight (400\u2013800).<\/li>\n<li>Content alignment (Left \/ Center \/ Right).<\/li>\n<li>Description display (Single Line \/ Multi Line).<\/li>\n<\/ul>\n\n<p><strong>Carousel settings<\/strong><\/p>\n\n<ul>\n<li>Show\/hide navigation arrows.<\/li>\n<li>Auto-play interval (0 = disabled).<\/li>\n<li>Active dot color.<\/li>\n<\/ul>\n\n<p><strong>Flash Rotate settings<\/strong><\/p>\n\n<ul>\n<li>Configurable rotation interval.<\/li>\n<\/ul>\n\n<p><strong>Shortcode<\/strong><\/p>\n\n<ul>\n<li><code>[ssppi_benefits]<\/code> with optional <code>layout<\/code> and <code>product_id<\/code> attributes.<\/li>\n<\/ul>\n\n<p><strong>Import \/ Export<\/strong><\/p>\n\n<ul>\n<li>Export all global settings and benefit items to a dated JSON file.<\/li>\n<li>Import via XHR\/FormData; validates plugin identifier, sanitizes all values on import.<\/li>\n<li>Nonce protection and <code>manage_woocommerce<\/code> capability check on both handlers.<\/li>\n<\/ul>\n\n<p><strong>Conditional asset loading<\/strong><\/p>\n\n<ul>\n<li>CSS registered for all layouts; enqueued only when the relevant layout is active on the current page.<\/li>\n<li>Carousel and Flash Rotate JavaScript loaded only when those layouts are in use.<\/li>\n<li>CSS custom properties (color, size, gap tokens) output as a single inline style block.<\/li>\n<\/ul>\n\n<p><strong>Theme template overrides<\/strong><\/p>\n\n<ul>\n<li>All five layout templates overridable from <code>{theme}\/woocommerce-product-benefits\/<\/code>.<\/li>\n<\/ul>\n\n<p><strong>Developer filters<\/strong><\/p>\n\n<ul>\n<li><code>ssppi_render_items<\/code>, <code>ssppi_render_settings<\/code> (product pages).<\/li>\n<li><code>ssppi_render_category_items<\/code>, <code>ssppi_render_category_settings<\/code> (category pages).<\/li>\n<\/ul>\n\n<p><strong>Payment Icons bar<\/strong><\/p>\n\n<ul>\n<li>Built-in SVG payment icon library (Visa, Mastercard, PayPal, Apple Pay, Google Pay, Stripe, and more).<\/li>\n<li>Two icon types: library, WordPress Media Library image.<\/li>\n<li>Three placement options: product page (before\/after Add to Cart form), cart page (before\/after Checkout button), site footer.<\/li>\n<li>Optional header with configurable title, font size, font weight (300\/400\/500\/600\/700), color, and alignment.<\/li>\n<li>Optional lock icon beside the header title.<\/li>\n<li>Banner layout modes: Column (header stacks above icons) and Row (side by side, optional mobile stack).<\/li>\n<li>Style modes: Default (full color) and Monochrome (grayscale).<\/li>\n<li>Separate icon sizes and gap values for desktop and mobile.<\/li>\n<li>Placement modifier classes on the wrapper: <code>ssppi-pi-placement-footer<\/code>, <code>ssppi-pi-placement-product<\/code>, <code>ssppi-pi-placement-cart<\/code>.<\/li>\n<li>All styles inlined via <code>wp_add_inline_style<\/code> \u2014 no render-blocking <code>&lt;link&gt;<\/code> tag; assets load only on pages that display the bar.<\/li>\n<li>Static CSS + dynamic CSS custom properties combined into a single inline <code>&lt;style&gt;<\/code> block.<\/li>\n<li>Live admin preview with sticky right-column layout; all settings reflected in real time.<\/li>\n<li>Two-column admin layout: settings on the left, icon picker and live preview sticky on the right.<\/li>\n<li>Developer filters: <code>ssppi_pi_render_items<\/code>, <code>ssppi_pi_render_settings<\/code>.<\/li>\n<li>Theme template override: <code>{theme}\/woocommerce-product-benefits\/payment-icons.php<\/code>.<\/li>\n<\/ul>\n\n<p><strong>Admin UI<\/strong><\/p>\n\n<ul>\n<li>Drag-and-drop sortable item rows using jQuery UI Sortable.<\/li>\n<li>Collapsible item rows; clicking the item label or the toggle arrow expands\/collapses.<\/li>\n<li>Live title preview updates the row header as you type.<\/li>\n<li>Icon picker with active state highlight.<\/li>\n<li>Image upload via WordPress media frame with remove button.<\/li>\n<li>Icon type switcher hides\/shows relevant fields instantly.<\/li>\n<\/ul>\n\n<p><strong>Security<\/strong><\/p>\n\n<ul>\n<li>All saved data sanitized: <code>sanitize_text_field<\/code>, <code>wp_kses_post<\/code>, <code>absint<\/code>, <code>sanitize_hex_color<\/code>.<\/li>\n<li>Nonce verification on every save action (global items, product meta, category meta, import).<\/li>\n<li>Capability checks before any data write: <code>manage_woocommerce<\/code>, <code>edit_post<\/code>, <code>manage_product_terms<\/code>.<\/li>\n<li>SVG output escaped with <code>wp_kses<\/code> + plugin-defined SVG allowlist.<\/li>\n<li>All frontend output escaped with <code>esc_html<\/code>, <code>esc_attr<\/code>, <code>esc_url<\/code>, <code>wp_kses_post<\/code>.<\/li>\n<\/ul>\n\n<p><strong>Compatibility<\/strong><\/p>\n\n<ul>\n<li>Requires WordPress 6.0+, WooCommerce 7.0+, PHP 7.4+.<\/li>\n<li>Declared compatible with WooCommerce High Performance Order Storage (HPOS).<\/li>\n<li>Follows WordPress Coding Standards (PHPCS WordPress ruleset).<\/li>\n<\/ul>","raw_excerpt":"Add selling-point benefit icons and a payment icons bar to WooCommerce products. Five layouts, per-product overrides, and conditional asset loading.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/339547","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=339547"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sidocode"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=339547"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=339547"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=339547"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=339547"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=339547"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=339547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}