Import posts from CSV files into WordPress.
Click on the CSV Importer link on your WordPress admin page, choose the
file you would like to import and click Import. The
inside the plugin's directory contains several files that demonstrate
how to use the plugin. The best way to get started is to import one of
these files and look at the results.
CSV is a tabular format that consists of rows and columns. Each row in a CSV file represents a post; each column identifies a piece of information that comprises a post.
csv_post_title- title of the post
csv_post_post- body of the post
pageor a custom post type. New in version 0.3.2 In prior versions, importing rows as pages could be specified on a per-file basis using the plugins UI. In 0.3.2,
csv_post_typecolumn was added to support custom post types as well. Refer to the WordPress documentation on custom post types for more info on how to set up custom post types.
csv_post_excerpt- post excerpt
csv_post_categories- a comma separated list of category names or ids. New in version 0.3.5 It's also possible to assign posts to non-existing subcategories, using > to denote category relationships, e.g.
Animalia > Chordata > Mammalia. If any of the categories in the chain does not exist, the plugin will automatically create it. It's also possible to specify the parent category using an id, as in
42 > Primates > Callitrichidae, where
42is an existing category id.
csv_post_tags- a comma separated list of tags.
csv_post_date- about any English textual description of a date and time. For example,
last yearare all valid descriptions. For technical details, consult PHP's
Any column that doesn't start with
csv_ is considered to be a custom field
name. The data in that column will be imported as the custom fields value.
csv_post_excerptare sufficient to create a post. If all of these columns are empty in a row, the plugin will skip that row.
csv_post_author- numeric user id or login name. If not specified or user does not exist, the plugin will assign the posts to the user performing the import.
csv_post_slug- post slug used in permalinks.
csv_post_parent- post parent id.
New in version 0.3.0
Once custom taxonomies are set up in your theme's functions.php file or
by using a 3rd party plugin,
csv_ctax_(taxonomy name) columns can be
used to assign imported data to the taxonomies.
The syntax for non-hierarchical taxonomies is straightforward and is essentially
the same as the
The syntax for hierarchical taxonomies is more complicated. Each hierarchical taxonomy field is a tiny two-column CSV file, where the order of columns matters. The first column contains the name of the parent term and the second column contains the name of the child term. Top level terms have to be preceded either by an empty string or a 0 (zero).
examples/custom-taxonomies.csv file included with the plugin
illustrates custom taxonomy support. To see how it works, make sure to set up
custom taxonomies from
Make sure that the quotation marks used as text delimiters in
columns are regular ASCII double quotes, not typographical quotes like “
(U+201C) and ” (U+201D).
New in version 0.3.1
An example file with comments is included in the
In short, comments can be imported along with posts by specifying columns
csv_comment_*_content etc, where * is
a comment ID number. This ID doesn't go into WordPress. It is only there
to have the connection information in the CSV file.
Requires: 2.0.2 or higher
Compatible up to: 3.8.3
Last Updated: 2014-1-19
1 of 6 support threads in the last two months have been resolved.
Got something to say? Need help?