Contents

WooCommerce Integration — Plugixa Testimonial

Display a Testimonials tab on every WooCommerce product page, auto-populated from a saved shortcode configuration you pick per product.

Requirements

  • WooCommerce 7.0 or higher.
  • Plugixa Testimonial (free or Pro).

The integration activates automatically when both plugins are active (via class_exists('WooCommerce')).

WooCommerce settings tab

Enable the tab

  1. Go to Plugixa Testimonial → Settings → WooCommerce.
  2. Toggle Enable product tab on.
  3. Optionally customize:
    • Tab title — default Testimonials.
    • Tab priority — default 50 (tab position relative to other tabs: Description = 10, Additional Info = 20, Reviews = 30).
  4. Save.

Assigning a shortcode to a product

Edit any product in Products → All products. Scroll to the Plugixa Testimonial meta box (typically below the product data panel).

  • Shortcode — dropdown listing all saved shortcode configurations from Plugixa Testimonial → Shortcodes.

Pick a shortcode. Save the product. The tab now appears on that product’s frontend page, rendering the selected shortcode.

If you have not created any shortcode configurations yet, the dropdown will be empty — create one first in Plugixa Testimonial → Shortcodes.

What gets stored

The selected shortcode ID is saved as product meta (_plugixa_testimonial_shortcode). This allows each product to have a different testimonial set — different categories, different views, different limits.

How the tab renders

  1. WooCommerce fires woocommerce_product_tabs filter.
  2. The plugin adds a new tab with the configured title and priority.
  3. When the tab is clicked, WooCommerce renders the tab content via the plugin’s callback.
  4. The callback loads the selected shortcode config and renders it.

No shortcode assigned

If a product has no shortcode assigned, the Testimonials tab does not appear for that product — the tab is conditional, not always-on.

Customization

Tab title per product

add_filter( 'plugixa_testimonial_product_tab_title', function( $title, $product_id ) {
    if ( has_term( 'featured', 'product_cat', $product_id ) ) {
        return __( 'Customer Reviews', 'textdomain' );
    }
    return $title;
}, 10, 2 );

Tab priority (position)

add_filter( 'plugixa_testimonial_product_tab_priority', function( $priority, $product_id ) {
    return 15;  // between Description (10) and Additional Info (20)
}, 10, 2 );

Replace tab content

add_filter( 'plugixa_testimonial_product_tab_content', function( $content, $product_id, $atts ) {
    return '<p>Common questions from buyers:</p>' . $content;
}, 10, 3 );

Styling the tab content

The tab content uses the plugin’s standard CSS (prefix pxt-). The view you selected in the shortcode controls the look. To style overrides:

  • Per-product — assign a different shortcode (which points to a different view).
  • Globally — add rules to Settings → General → Custom CSS scoped to .woocommerce-tabs .pxt-custom-testimonial-root.
.woocommerce-tabs .pxt-custom-testimonial-root {
  padding: 20px 0;
}

Schema.org integration

When the tab is active, the plugin still emits JSON-LD Review + AggregateRating schema on the product page. This may surface star ratings beside your product in search results — distinct from WooCommerce’s own Product + AggregateRating schema.

If both schemas conflict or produce duplicate data in Search Console, disable the testimonial schema for the product shortcode:

[plugixa_testimonials view_id="3" schema="0"]

Or disable the schema globally in Settings → Schema.

Variable products

  • The tab applies to the parent product, not individual variations.
  • Variations inherit the parent’s shortcode assignment.

Bundle / grouped products

  • The tab is shown only for the parent product, not child bundle items.

WC Subscriptions

The integration works identically — the tab appears on subscription product pages based on the product’s assigned shortcode.

Performance

  • Tab content is rendered only when the tab is viewed (WooCommerce renders all tabs up front, but the frontend displays them conditionally). If performance matters for initial product page load, keep the testimonial limit modest (≤ 12).
  • Frontend assets are enqueued on any product page with a testimonial shortcode assigned — not on product pages without one.

Custom product types

The integration works with any product type that uses the standard woocommerce_product_tabs filter. Non-standard product types (bundles from third-party plugins, custom post types pretending to be products) may need a filter adjustment.

Troubleshooting

Tab not appearing

  1. WooCommerce active? Plugins screen.
  2. Tab enabled in Settings → WooCommerce?
  3. Shortcode assigned to the product? Product edit → Plugixa Testimonial meta box.
  4. Theme override? Some themes replace WC tabs entirely. Test with Storefront to isolate.

Wrong testimonials appear

  • Double-check the saved shortcode config — the filters (category, featured, min_rating) may be filtering out too aggressively.
  • Testimonials must be approved — check the status filter on the Testimonials list.

Tab shows but content is blank

  • The assigned shortcode config has limit=0 or filter criteria that match nothing — relax the filters.
  • Check the browser console for JS errors on initial page load.

REST API

No dedicated REST endpoints for the tab — the UI is server-rendered by WooCommerce. You can list testimonials assigned to a product via a custom query using the _plugixa_testimonial_shortcode post meta.

Hooks

See Hooks → WooCommerce.

Quick Links