ACF Bulk Product Updater
This plugin helps you update product acf fields data in bulk using csv file format
by Your Name · github.com/sangeeta-code/acf-bulk-content-uploader · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/sangeeta-code/acf-bulk-content-uploader/archive/refs/heads/main.zipA WordPress plugin for bulk updating Advanced Custom Fields (ACF) on WooCommerce products using CSV file uploads.
Features
- ✅ Bulk update ACF fields for multiple products at once
- ✅ Support for simple text, textarea, WYSIWYG, and boolean fields
- ✅ Support for ACF repeater fields (JSON format)
- ✅ Image field handling (upload from URL or use attachment ID)
- ✅ Product identification by ID or SKU
- ✅ Progress tracking during import
- ✅ Detailed error reporting
- ✅ Sample CSV download functionality
- ✅ User-friendly admin interface
Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher
- Advanced Custom Fields (ACF) plugin
- WooCommerce plugin
Installation
- Download the plugin files
- Upload the entire
acf-bulk-product-updaterfolder to the/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Navigate to Products > Bulk Update ACF to use the plugin
Supported ACF Fields
Based on the "New Product Page Field Group", this plugin supports:
Simple Fields
switch_to_new_layout- Boolean (1 or 0)info_items- Textareaadditional_info_text- Textcertificate_tab_content- WYSIWYG (How To Use section)why_section_content- WYSIWYG (Why Choose Us section)comparison_content- WYSIWYG (Comparison section)
Image Fields
faq_image- Image (accepts URL or attachment ID)
Repeater Fields (JSON format)
product_benefits- Benefits with iconscomparison_items- Comparison table itemskratom_effects- Effects with icons, title, and contentproduct_faqs- Frequently Asked Questions
CSV Format
Basic Structure
Your CSV file should have a header row with column names, followed by data rows.
Required Column
Choose one identifier:
product_id- The WordPress product post IDproduct_sku- The WooCommerce product SKU
Example CSV Structure
product_id,switch_to_new_layout,info_items,additional_info_text,product_benefits
123,1,"Item 1\nItem 2","Additional info","[{\"icon\":\"https://example.com/icon.svg\",\"benefit\":\"Benefit 1\"}]"
124,0,"Different items","More info","[{\"icon\":\"https://example.com/icon2.svg\",\"benefit\":\"Benefit 2\"}]"
Repeater Field JSON Format
Product Benefits
[
{
"icon": "https://example.com/icon.svg",
"benefit": "Benefit text here"
},
{
"icon": "123",
"benefit": "Another benefit"
}
]
Comparison Items
[
{
"label": "Quality",
"our": "Premium",
"other": "Standard"
},
{
"label": "Price",
"our": "Competitive",
"other": "Higher"
}
]
Kratom Effects
[
{
"icon": "https://example.com/effect-icon.svg",
"title": "Effect Title",
"content": "<p>HTML content describing the effect</p>"
}
]
Product FAQs
[
{
"question": "What is this product?",
"answer": "<p>This is a great product with many benefits.</p>"
},
{
"question": "How do I use it?",
"answer": "<p>Simply follow these steps...</p>"
}
]
Usage Instructions
-
Navigate to the Plugin Page
- Go to WordPress Admin > Products > Bulk Update ACF
-
Prepare Your CSV File
- Download the sample CSV for reference
- Create your CSV with product data
- Include product_id or product_sku column
- Add columns for the fields you want to update
-
Upload and Process
- Select your CSV file
- Choose identifier type (Product ID or SKU)
- Click "Upload and Process"
-
Review Results
- Check the import statistics
- Review any errors or skipped rows
- Verify updates on product pages
Important Notes
Image Handling
- Images can be specified as:
- Attachment ID (e.g.,
123) - Full URL (e.g.,
https://example.com/image.jpg)
- Attachment ID (e.g.,
- External URLs will be downloaded and attached to the media library
JSON in CSV
- Repeater fields must be valid JSON
- Escape quotes inside JSON strings with backslash (
\") - Use double quotes for JSON, not single quotes
- In CSV, wrap the entire JSON in double quotes
Multi-line Text
- Use
\nfor line breaks in textarea fields - Wrap text containing commas or quotes in double quotes
HTML Content
- WYSIWYG fields accept HTML
- HTML will be sanitized for security
- Wrap HTML content in quotes in CSV
File Size Limits
- Maximum upload size: 10MB
- For larger files, split into multiple CSVs
Troubleshooting
CSV Not Processing
- Verify CSV is properly formatted
- Check for special characters or encoding issues
- Ensure required columns are present
Products Not Updating
- Verify product IDs or SKUs are correct
- Check if ACF fields exist on the product post type
- Review error messages in the results
Images Not Uploading
- Ensure URLs are accessible
- Check WordPress media upload permissions
- Verify image file types are allowed
JSON Errors
- Validate JSON using a JSON validator
- Check for unescaped quotes
- Ensure proper array structure
Developer Information
Hooks and Filters
The plugin provides hooks for customization:
// Modify field mapping
add_filter('acf_bulk_updater_field_mapping', function($mapping) {
// Customize field mapping
return $mapping;
});
// Process custom field types
add_action('acf_bulk_updater_process_custom_field', function($field_name, $value, $product_id) {
// Handle custom field processing
}, 10, 3);
File Structure
acf-bulk-product-updater/
├── acf-bulk-product-updater.php (Main plugin file)
├── assets/
│ ├── css/
│ │ └── admin.css (Admin styles)
│ └── js/
│ └── admin.js (Admin JavaScript)
└── README.md (This file)
Support
For issues, feature requests, or questions:
- Check the documentation above
- Review the sample CSV
- Contact your WordPress developer
Changelog
Version 1.0.0
- Initial release
- Support for all fields in "New Product Page Field Group"
- CSV upload functionality
- Progress tracking and error reporting
- Sample CSV generation
License
This plugin is licensed under GPL v2 or later.
Credits
Developed for bulk updating WooCommerce product ACF fields efficiently.