Title: Daily Picks CSV Export
Author: dailypicks
Published: <strong>October 14, 2026</strong>
Last modified: October 14, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/daily-picks-csv-export.svg)

# Daily Picks CSV Export

 By [dailypicks](https://profiles.wordpress.org/dailypicks/)

[Download](https://downloads.wordpress.org/plugin/daily-picks-csv-export.0.1.7.zip)

 * [Details](https://kea.wordpress.org/plugins/daily-picks-csv-export/#description)
 * [Reviews](https://kea.wordpress.org/plugins/daily-picks-csv-export/#reviews)
 *  [Installation](https://kea.wordpress.org/plugins/daily-picks-csv-export/#installation)
 * [Development](https://kea.wordpress.org/plugins/daily-picks-csv-export/#developers)

 [Support](https://wordpress.org/support/plugin/daily-picks-csv-export/)

## Description

Daily Picks CSV Export writes your posts, pages and custom post types to CSV, built
for one workflow: **export, edit in Excel, import back.**

#### Round-trip that closes cleanly

The “Round-trip” file uses exactly the column names that the free [Really Simple CSV Importer](https://wordpress.org/plugins/really-simple-csv-importer/)
reads. Nothing else goes into the file, because the importer stores any unknown 
column as a custom field. Exporters that add columns such as `post_modified` leave
stray custom fields behind on every import.

 * **Non-destructive.** Columns that are not in the CSV, and empty cells, are never
   touched. Featured images, custom fields, post formats and sticky posts stay as
   they are. The other side of the same rule: you cannot erase a value by emptying
   its cell.
 * **One post type per file.** Types are never mixed, so a round-trip closes cleanly.
 * **Backslashes survive the round-trip.** WordPress removes one level of backslashes
   when the importer saves a post: `C:\dir` would become `C:dir`, `/^\d+$/` would
   become `/^d+$/`, and block attributes such as `\u0022` would break. The Round-
   trip file writes backslashes doubled, so they come back exactly as they were.
   Measured on a live post with 17 Windows paths in code blocks: after the round-
   trip, the content was byte-identical. Tested with Really Simple CSV Importer 
   1.3.1 on WordPress 7.1.2 (PHP 8.3); the CSV reading step was also measured on
   PHP 8.4 and with the setting PHP may make the default from 9.0.
 * **Tags with a comma are left blank, and listed.** The importer splits tags on
   commas, so one tag would become two. That cell is written blank, which the importer
   treats as “keep”, and you see the list before you download.
 * **Content is optional.** Excel cuts cells longer than 32,767 characters. Without
   the content column, content is left untouched.

#### Check before import

Upload the file you edited in Excel and see what the importer would do wrong, before
anything is imported. Nothing is saved; the file is only read.

 * **A backslash typed once.** It would be removed. At the end of a cell or before
   a quote, the importer would also read the following columns into the wrong fields,
   overwriting the slug or publish date of that post. The check names the row and
   the cell.
 * **Saved as plain “CSV”** (Shift_JIS), which the importer stores garbled.
 * **Columns that would become custom fields**, IDs that would create new posts,
   a missing ID column (every row would become a new post), and post types that 
   do not match.

#### Date check: repair publish dates after a round-trip

WordPress stores each publish date twice: in site time (shown on the page) and in
GMT (used by RSS feeds and the REST API). When a post is updated with a new date
but no new GMT date, WordPress keeps the old GMT date. So if you change publish 
dates in Excel and import, the page shows the new date while feeds and the API keep
the old one.

Tools > Daily Picks CSV Export > Date check finds these posts and sets GMT from 
the site-time date.

 * Drafts without a fixed date are normal and are never reported.
 * It shows the site-wide state, and marks which posts started drifting after your
   last round-trip download.
 * Only the GMT date is changed: not the page date, the last-modified date or the
   content. Scheduled posts keep publishing on time.
 * The last fix can be undone in one click.

Measured on a live site with 467 posts: before any round-trip, the check reported
0 posts, so it does not flag correct dates. After one post’s date was changed in
Excel and imported, it reported exactly that post, marked “new”; fixing it corrected
the date in the RSS feed and the REST API, and nothing else changed.

Nothing runs automatically. The plugin does not hook into saving; every change is
a button you press.

#### View file

A second mode for reading, not importing: readable headings, URL, category and author
names, and a choice of UTF-8 with BOM, Shift_JIS or UTF-8. Cells that start with`
=`, `+`, `-` or `@` get a leading apostrophe so Excel does not run them as formulas.
The file name ends in `-view`.

**On sites with untrusted authors, use the View file before opening a CSV in Excel.**
The Round-trip file writes values exactly as stored, so that they come back unchanged.

## Installation

 1. Install and activate the plugin.
 2. Go to Tools > Daily Picks CSV Export.
 3. To import a Round-trip file, install Really Simple CSV Importer and use Tools >
    Import > CSV.

## FAQ

### Which Excel format should I save as?

“CSV UTF-8 (Comma delimited)”. Plain “CSV” saves Shift_JIS in Japanese Excel, which
the importer stores garbled.

### Can I delete a tag or clear an excerpt through the CSV?

No. An empty cell means “keep”. This is what makes the round-trip non-destructive.
Clear values in the post editor.

### Why do backslashes appear doubled in Excel?

Because WordPress removes one level of backslashes when the importer saves. Doubled,
they come back exactly. Keep them doubled when you edit, and type any new backslash
twice. “Check before import” finds any you typed once.

### Why is the tag cell empty for some posts?

One of the post’s tags has a comma in its name, and the importer would split it 
into two tags. The cell is blank, which means “keep”, so the post keeps its tags.
The check screen lists these posts before you download.

### Excel turned “1-2” into a date.

Excel converts some values when it opens a file. Check titles that look like numbers
or dates before saving.

### Does the plugin import?

No. Importing is done by Really Simple CSV Importer. This plugin does not change
how it works.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Daily Picks CSV Export” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ dailypicks ](https://profiles.wordpress.org/dailypicks/)

[Translate “Daily Picks CSV Export” into your language.](https://translate.wordpress.org/projects/wp-plugins/daily-picks-csv-export)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/daily-picks-csv-export/),
check out the [SVN repository](https://plugins.svn.wordpress.org/daily-picks-csv-export/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/daily-picks-csv-export/)
by [RSS](https://plugins.trac.wordpress.org/log/daily-picks-csv-export/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.7

 * Admin styles are now loaded with wp_add_inline_style() on this plugin’s screen
   only.
 * Translation files are no longer bundled; translations come from translate.wordpress.
   org.

#### 0.1.6

 * Check before import: a file without an ID column now gets a warning that every
   row will be created as a new post, instead of “no problems”. Importing is not
   blocked.

#### 0.1.5

 * Renamed to Daily Picks CSV Export (slug daily-picks-csv-export). No functional
   changes.

#### 0.1.4

 * All database queries fully prepared; upload checks hardened.
 * Check before import reads the upload in place (constant memory, no copy on disk)
   and looks up IDs in batches.
 * Clearer messages for files over the upload limit and for files that only need
   a decision.

#### 0.1.2

 * New: Check before import — upload the edited file and see problems (single backslashes,
   column shifts, Shift_JIS, extra columns, unknown IDs) before importing.
 * View files are never doubled; only Round-trip files are.

#### 0.1.1

 * Backslashes are written doubled so they survive the importer (instead of leaving
   those cells blank).

#### 0.1.0

 * First version: Round-trip and View export (backslashes doubled so they survive
   the importer), pre-download check, Date check with undo.

## Meta

 *  Version **0.1.7**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/daily-picks-csv-export/)
 * Tags
 * [csv](https://kea.wordpress.org/plugins/tags/csv/)[excel](https://kea.wordpress.org/plugins/tags/excel/)
   [export](https://kea.wordpress.org/plugins/tags/export/)[posts](https://kea.wordpress.org/plugins/tags/posts/)
   [spreadsheet](https://kea.wordpress.org/plugins/tags/spreadsheet/)
 *  [Advanced View](https://kea.wordpress.org/plugins/daily-picks-csv-export/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/daily-picks-csv-export/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/daily-picks-csv-export/reviews/)

## Contributors

 *   [ dailypicks ](https://profiles.wordpress.org/dailypicks/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/daily-picks-csv-export/)