Custom Fields Plugin Compatibility
Commerce Connect is compatible with WordPress® custom fields plugins including Advanced Custom Fields (ACF), Pods, Meta Box, and Carbon Fields.
Overview
Section titled “Overview”Commerce Connect products sync from BigCommerce as the source of truth, but you can extend them with WordPress® custom fields plugins. This allows you to add custom metadata that lives in WordPress® while keeping core product data (price, description, inventory) managed in BigCommerce.
This integration pattern is powerful for adding rich content that doesn’t belong in your commerce platform but enhances the customer experience on WordPress®.
Understanding Read-Only Products
Section titled “Understanding Read-Only Products”When you navigate to Commerce Connect > Products in WordPress® admin, you’ll see two edit options for each product:
- Edit in BigCommerce - Opens the product in BigCommerce where you manage price, description, inventory, images, variants, and all core commerce data
- Edit in WordPress® - Opens the WordPress® product editor where core fields are read-only but you can add WordPress®-specific metadata via plugins
Why are products read-only in WordPress®?
BigCommerce is the single source of truth for product data. Making product fields read-only in WordPress® prevents conflicts between the two systems. When you sync a product update from BigCommerce, there’s no risk of overwriting changes someone made in WordPress®.
Prerequisites
Section titled “Prerequisites”- Commerce Connect Connect plugin installed and configured
- Products synced from BigCommerce
- Advanced Custom Fields Pro plugin installed
Installing ACF
Section titled “Installing ACF”# Install via WordPress® admin# Plugins > Add New > Search "Advanced Custom Fields"# Or install ACF Pro from your accountCreating Custom Field Groups
Section titled “Creating Custom Field Groups”In ACF > Field Groups, create a new field group:
- Click Add New
- Set Title: “Product Extras” (or your preferred name)
- Add your custom fields (examples below)
- Under Location Rules, set:
- Post Type is equal to product
- Publish the field group
Use Cases
Section titled “Use Cases”Size Chart
Section titled “Size Chart”Add a file upload field for downloadable size charts:
Field Configuration:
- Field Label: Size Chart
- Field Name: size_chart
- Field Type: File
Display in template:
<?php// In your product template$size_chart = get_field('size_chart');if ($size_chart): ?> <div class="product-size-chart"> <h3>Size Chart</h3> <a href="<?php echo esc_url($size_chart['url']); ?>" download class="btn-download"> Download Size Chart (<?php echo $size_chart['filesize']; ?>) </a> </div><?php endif; ?>Care Instructions
Section titled “Care Instructions”Add a WYSIWYG field for detailed care instructions:
Field Configuration:
- Field Label: Care Instructions
- Field Name: care_instructions
- Field Type: WYSIWYG Editor
Display in template:
<?php$care_instructions = get_field('care_instructions');if ($care_instructions): ?> <div class="product-care"> <h3>Care Instructions</h3> <?php echo wp_kses_post($care_instructions); ?> </div><?php endif; ?>Shipping Details
Section titled “Shipping Details”Add custom shipping messaging for specific products:
Field Configuration:
- Field Label: Special Shipping Notes
- Field Name: shipping_notes
- Field Type: Text Area
Display in cart/checkout:
<?php// Hook into cart displayadd_filter('woocommerce_cart_item_name', function($product_name, $cart_item) { $product_id = $cart_item['product_id']; $shipping_notes = get_field('shipping_notes', $product_id);
if ($shipping_notes) { $product_name .= sprintf( '<div class="shipping-notice">%s</div>', esc_html($shipping_notes) ); }
return $product_name;}, 10, 2);Product Badges
Section titled “Product Badges”Add conditional badges based on custom fields:
Field Configuration:
- Field Label: Product Badge
- Field Name: product_badge
- Field Type: Select
- Choices:
- New Arrival
- Best Seller
- Limited Edition
- Sustainable
Display in product grid:
<?php$badge = get_field('product_badge', get_the_ID());if ($badge): ?> <span class="product-badge badge-<?php echo sanitize_html_class(strtolower($badge)); ?>"> <?php echo esc_html($badge); ?> </span><?php endif; ?>Code Examples
Section titled “Code Examples”Displaying ACF Fields in Single Product Block
Section titled “Displaying ACF Fields in Single Product Block”Since Commerce Connect uses the block editor, you can create a custom block pattern that includes ACF fields:
Create a custom block pattern:
<?php// In your theme's functions.phpfunction register_product_extras_pattern() { if (function_exists('get_field')) { register_block_pattern( 'my-theme/product-with-extras', array( 'title' => 'Product with Custom Fields', 'description' => 'Product display including ACF custom fields', 'content' => ' <!-- wp:group {"className":"product-extras"} --> <div class="wp-block-group product-extras"> ' . get_acf_content() . ' </div> <!-- /wp:group --> ', 'categories' => array('wpe-commerce'), ) ); }}add_action('init', 'register_product_extras_pattern');
function get_acf_content() { ob_start();
// Size chart $size_chart = get_field('size_chart'); if ($size_chart) { echo '<div class="size-chart">'; echo '<a href="' . esc_url($size_chart['url']) . '">Download Size Chart</a>'; echo '</div>'; }
// Care instructions $care = get_field('care_instructions'); if ($care) { echo '<div class="care-instructions">'; echo wp_kses_post($care); echo '</div>'; }
return ob_get_clean();}Adding ACF Fields to Product Archive
Section titled “Adding ACF Fields to Product Archive”Display custom field data in product grids:
<?php// Hook into Commerce Connect product grid renderingadd_action('wpe_commerce_after_product_title', function($product_id) { $badge = get_field('product_badge', $product_id);
if ($badge) { echo sprintf( '<span class="product-badge">%s</span>', esc_html($badge) ); }}, 10, 1);Conditional Display Based on Product Category
Section titled “Conditional Display Based on Product Category”Show different ACF fields based on the BigCommerce category:
<?php// In your product template$product_categories = wp_get_post_terms(get_the_ID(), 'product_category');
if ($product_categories && !is_wp_error($product_categories)) { $category_names = wp_list_pluck($product_categories, 'name');
// Show size chart only for clothing if (in_array('Clothing', $category_names)) { $size_chart = get_field('size_chart'); if ($size_chart) { // Display size chart } }
// Show care instructions for linens if (in_array('Linens', $category_names)) { $care = get_field('care_instructions'); if ($care) { // Display care instructions } }}How to Add Fields to Synced Products
Section titled “How to Add Fields to Synced Products”Step-by-Step Workflow
Section titled “Step-by-Step Workflow”-
Navigate to Products Tab
- Go to Commerce Connect > Products in WordPress® admin
- Find the product you want to extend
-
Click “Edit in WordPress®”
- This opens the WordPress® product editor
- Notice core product fields (price, description, inventory) are grayed out/disabled
- This is intentional - BigCommerce manages those fields
-
Scroll to ACF Field Group
- Below the disabled product fields, you’ll see your ACF custom field group
- Fill in your custom fields (size chart, care instructions, etc.)
-
Publish/Update
- Click Update to save your changes
- These custom fields are stored in WordPress® only
- They won’t sync back to BigCommerce (by design)
-
Verify on Frontend
- View the product page to confirm your custom fields display correctly
- Custom fields persist across product syncs from BigCommerce
If You Need to Edit Core Product Data
Section titled “If You Need to Edit Core Product Data”If you accidentally clicked “Edit in WordPress®” but need to change price, inventory, or description:
- Look for the “Edit in BigCommerce” button at the top of the WordPress® editor
- Click it to open the product in BigCommerce’s admin
- Make your changes there
- Save in BigCommerce
- Changes will sync to WordPress® automatically via webhook
Troubleshooting
Section titled “Troubleshooting”Custom fields not appearing in product editor
Section titled “Custom fields not appearing in product editor”Check field group location rules:
- Go to ACF > Field Groups
- Edit your field group
- Verify Location Rules include: Post Type is equal to product
- Make sure there are no conflicting rules
Changes to custom fields not saving
Section titled “Changes to custom fields not saving”Verify user permissions:
- Ensure the user has permission to edit products in WordPress®
- ACF fields require the same permissions as the post type
Check for JavaScript errors:
- Open browser console (F12)
- Look for errors when clicking Update
- Disable other plugins to test for conflicts
Custom fields disappearing after product sync
Section titled “Custom fields disappearing after product sync”This should not happen - ACF fields are WordPress® metadata, separate from synced BigCommerce data.
If this occurs:
- Check your Commerce Connect sync settings
- Ensure you’re not running full re-imports that delete/recreate products
- Contact WPE support - delta sync should preserve WordPress® metadata
ACF fields showing on wrong products
Section titled “ACF fields showing on wrong products”Review field group location rules:
- If fields appear on all products but should only show on specific categories:
- Add taxonomy term conditions to your field group location rules
- Example: Product Category is equal to “Clothing”
Best Practices
Section titled “Best Practices”-
Keep core product data in BigCommerce
- Don’t try to override synced fields
- Use ACF for WordPress®-specific content only
-
Use conditional logic
- Show fields only when relevant (e.g., size chart for clothing)
- Keeps the product editor clean
-
Document your custom fields
- Create internal documentation explaining what each field is for
- Include examples of when to use them
-
Test before rolling out
- Add fields to a test product first
- Verify they display correctly on frontend
- Ensure they persist across BigCommerce syncs
-
Plan for scale
- If adding custom fields to hundreds of products, consider bulk editing tools
- ACF supports CSV import via plugins like WP All Import
Related Documentation
Section titled “Related Documentation”- SEO Plugins - Add SEO metadata to products
- Product Templates - Customize product display
- Hooks & Filters - Developer guide for custom integrations