=== Khushal Content Export to CSV ===
Contributors: khushal1995
Tags: csv, export, posts, pages, gutenberg
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.4.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Export posts & pages to CSV: Gutenberg blocks, Webflow-style HTML, or plain text. Third-party; not affiliated with Webflow Inc.

== Description ==

**Khushal Content Export to CSV** lets administrators download **published** content as CSV (or CSV + featured images in a ZIP) from the **Khushal CSV Export** screen.

ZIP exports use a short-lived folder under `wp-content/uploads/khushal-content-export-to-csv/` (then removed), not the PHP system temp directory.

**Features**

* Post types: posts, pages, and other **public** post types with UI (attachments excluded by default).
* **Post content modes:** block markup (WordPress re-import), Webflow-oriented HTML, rendered HTML, or plain text.
* Columns: Post ID, type, title (or **Name** for Webflow), **slug**, content, date, author, featured image URL, paths, permalink, terms; optional Yoast / Rank Math columns.
* **UTF-8 BOM** for Excel; CSV formula-injection mitigation.
* **Security:** `manage_options`, `check_ajax_referer`, sanitized POST input.

**Developer hooks**

* `kcecsv_export_query_args` — alter `WP_Query` args.
* `kcecsv_exportable_post_types` / `kcecsv_excluded_post_types` — post type lists.
* `kcecsv_export_block_content` — raw block export.
* `kcecsv_export_webflow_html` — Webflow HTML before final cleanup.
* `kcecsv_export_csv_cell` — each CSV cell string before formula escaping.

== Installation ==

1. Upload the `khushal-content-export-to-csv` folder to `/wp-content/plugins/`.
2. Activate **Khushal Content Export to CSV** through the **Plugins** screen.
3. Open **Khushal CSV Export** in the admin menu.

== Frequently Asked Questions ==

= Who can export? =

Users with the **manage_options** capability (typically Administrators).

= Is this plugin affiliated with Webflow? =

No. “Webflow” appears only to describe an optional export format for that platform’s importers.

= Where are ZIP files built? =

Inside `wp-content/uploads/khushal-content-export-to-csv/` as temporary session folders, then deleted after the download is sent.

== Screenshots ==

1. Export screen with format options and download buttons.

== Upgrade Notice ==

= 1.4.1 =
Text domain, Plugin URI, main plugin file name, and folder name now match the WordPress.org plugin slug **`khushal-content-export-to-csv`**.

== Changelog ==

= 1.4.1 =
* Align gettext text domain, `Text Domain` header, `Plugin URI`, `KCECSV_UPLOAD_SUBDIR`, admin menu slug, bootstrap filename, and plugin directory name with slug **`khushal-content-export-to-csv`** (WordPress.org review).

= 1.4.0 =
* Bump to **1.4.0** for directory upload (package still used legacy slug `khushal-content-export-csv` until **1.4.1**).

= 1.3.0 =
* Directory **`khushal-content-export-csv`**, bootstrap **`khushal-content-export-csv.php`**, text domain and **`KCECSV_UPLOAD_SUBDIR`** all **`khushal-content-export-csv`**.
* Plugin URI: `https://wordpress.org/plugins/khushal-content-export-csv/` (superseded by slug-aligned URI in **1.4.1**).
* ZIP staging remains under uploads (session folders), not `get_temp_dir()`.

= 1.2.2 =
* Interim release while the directory listing permalink differed from the **`khushal-content-export-csv`** package layout.

= 1.2.1 =
* Include files `class-kcecsv-*.php`; readme short line trimmed.

= 1.2.0 =
* Display name **Khushal Content Export to CSV**; uploads-based ZIP staging; hooks prefix `kcecsv_`.

= 1.1.2 =
* Plugin Check: textdomain, nonce, PHPCS stream/`the_content` notes.

= 1.1.1 =
* Remove `Update URI`; `languages/`; Tested up to 6.9.

= 1.1.0 =
* Security and readme for directory submission.

== Privacy ==

This plugin does not collect or sell personal data. Exports run on your server for logged-in administrators only.
