=== Datafeed to Post ===
Contributors: aiwpcoder
Tags: csv, datafeed, import, posts, bulk
Requires at least: 6.0
Tested up to: 6.7
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Import CSV datafeeds and automatically create WordPress posts using customisable templates with {field_name} placeholders.

== Description ==

Datafeed to Post lets you:

* Create named templates with a post title and body that contain {column_name} placeholders
* Upload a CSV datafeed file to any template
* Process the datafeed with real-time AJAX progress tracking
* Automatically create one WordPress post per CSV data row

**Key Features:**

* WordPress-style post editor (TinyMCE) for building body templates
* Case-insensitive {placeholder} replacement
* Handles CSV fields containing commas (properly quoted CSV)
* Batch processing with AJAX to avoid server timeouts
* Real-time progress bar showing "X of Y rows processed"
* Completion summary showing posts created count
* Clean admin interface with top-level menu

== Installation ==

1. Upload the plugin files to `/wp-content/plugins/datafeed-to-post/`
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Navigate to **Datafeed to Post** in the admin sidebar

== Usage ==

1. Click **New Template** to create a template
2. Give it a name, enter a title template (e.g. `{product_name} - {brand}`) and body template
3. Save the template
4. On the Templates page, click **Upload New Datafeed** next to your template
5. Upload a CSV file (first row must be column headers)
6. Once uploaded, click **Process Datafeed** to start creating posts
7. Watch real-time progress; when complete a summary is shown

== Frequently Asked Questions ==

= What CSV format is required? =
Standard CSV with the first row as column headers. Quoted fields containing commas are supported.

= Can I use HTML in the body template? =
Yes, the body editor supports full HTML and the WordPress TinyMCE editor.

= Are placeholders case-sensitive? =
No, placeholders are matched case-insensitively. {Price} and {price} both match a column named "Price".

= What post status are the created posts? =
Posts are created as "published" by default.

= Can I re-process the same CSV? =
Yes. Click "Process Datafeed" again. Note this will create duplicate posts.

== Changelog ==

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.0.0 =
Initial release.
