WordPress plugin intelligence profile

CSV Importer Improved

Import posts from CSV files into WordPress.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 4.6
Current version0.6.1
WordPress coverageTested up to WordPress 4.6
Minimum stackWP 3.0.0 · PHP —
Directory statusactive
Last directory update10 Oct 201610y ago
Active installations100Adoption metric — not a quality score
WordPress.org rating3.2 / 5 from 5 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records CSV Importer Improved version 0.6.1 as active, updated 10y ago and tested up to WordPress 4.6.

Overview

About this plugin

This WordPress plugin imports posts from CSV (Comma Separated Value) files into your

WordPress blog. It can prove extremely useful when you want to import a bunch

of posts from an Excel document or the like – simply export your document into

a CSV file and the plugin will take care of the rest.

org/plugins/csv-importer-improved/

Features

  • Imports post title, body, excerpt, tags, date, categories etc.
  • Supports custom fields, custom taxonomies and comments
  • Deals with Word-style quotes and other non-standard characters using

WordPress’ built-in mechanism (same one that normalizes your input when you

write your posts)

  • Columns in the CSV file can be in any order, provided that they have correct

headings

  • Multi-language support

org/plugins/csv-importer/ by dvkob

in order to keep up with changes to the core WordPress.

This importer writes directly to the database. It does not go through the internal

WordPress objects for creating posts etc. That may be an advantage to you (it will

be faster for large imports) but do be aware of any data integrity issues that may arrise.

Only UTF-8 encoding is supported, both with and without Byte Order Marks (BOM).

The development repository for this plugin can be found here:

com/academe/csv-importer-improved

Please feel free to raise issues there, and submit pull requests, as well as through

the normal WordPress channels.

Usage

Click on the CSV Importer link on your WordPress admin page, choose the

file you would like to import and click Import. The examples directory

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.

You can create new posts, or update existing posts by supplying the csv_post_id

field pointing to an existing post. When updating, all field names you provide

in the CSV file will be updated – even if blank – but fields you don’t list at

the head of the CSV file will be left intact.

Basic post information

  • csv_post_id – optional, used to update an existing post.
  • csv_post_title – title of the post
  • csv_post_post – body of the post
  • csv_post_type – post, page or a custom post type.

2, csv_post_type column supports custom post types.

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.

g. “EC > UK, Island”.

g. Animalia > Chordata > Mammalia

then they will all be created and the post assigned to the end of the chain.

g.

42 > Primates > Callitrichidae, where 42 is an

existing category id.

  • csv_post_tags – a “quoted” comma separated list of tags.
  • csv_post_date – most standard formats are supported.

For example, now, 11/16/2009 0:00, 1999-12-31 23:55:00, +1 week,

next Thursday, last year are all valid. For technical

details, consult PHP’s strtotime() function documentation.

Custom fields

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.

All custom fields must be unique. Multiple fields with the same name will be

updated to the same value if updating an existing post.

0 loading the same field name multiple times to an existing

post would create multiple custom fields.

General remarks

  • WordPress pages don’t have categories or tags.
  • Most columns are optional. Either csv_post_title, csv_post_post or

csv_post_excerpt are sufficient to create a post. If all of these

columns are empty in a row, the plugin will skip that row.

  • The plugin will attempt to reuse existing categories or tags; if an

existing category or tag cannot be found, the plugin will create it.

  • To specify a category that has a greater than sign (>) in the name, use

the HTML entity >

Advanced usage

  • 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.

Custom taxonomies

0

php file or

by using a 3rd party plugin, csv_ctax_(taxonomy name) columns can be

used to assign imported data to the taxonomies.

Non-hierarchical taxonomies

The syntax for non-hierarchical taxonomies is straightforward and is essentially

the same as the csv_post_tags syntax.

Hierarchical taxonomies

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).

csv file included with the plugin

illustrates custom taxonomy support. To see how it works, make sure to set up

php.

Make sure that the quotation marks used as text delimiters in csv_ctax_

columns are regular ASCII double quotes, not typographical quotes like “

(U+201C) and ” (U+201D).

Comments

1

An example file with comments is included in the examples directory.

In short, comments can be imported along with posts by specifying columns

such as csv_comment_*_author, 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.

Credits

This plugin uses php-csv-parser by Kazuyoshi Tlacaelel.

It was inspired by JayBlogger’s CSV Import plugin.

Contributors:

  • Kevin Hagerty (post_author support)
  • Edir Pedro (root category option and tableless HTML markup)
  • Frank Loeffler (comments support)
  • Micah Gates (subcategory syntax)
  • David Hollander (deprecation warnings, linebreak handling)
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • batch
  • csv
  • excel
  • import
  • spreadsheet
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 4.6

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 4.6.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to4.6
Minimum requirementsWordPress 3.0.0 · PHP not listed
Update activity10 Oct 201610y ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.