web-dev-qa-db-ja.com

CSVファイルから説明付きのカテゴリをインポートする方法

コンマ区切り値のファイルから新しいカテゴリのリストとカテゴリの説明をインポートする方法を教えてください。

2
Ruriko

これを達成するための非常に単純なプラグイン。

起動時にのみ実行されるため、5つのCSVファイルがある場合は、プラグインを5回起動/停止する必要があります。

ファイル:

/wp-content/plugins/create-cats-from-csv/create-cats-from-csv.php

<?php
/*
    Plugin Name: Insert CSV Categories
    Version: 1.0
    Description: Reads a CSV file on plugin activation and insert the Categories/Description/Parent into WordPress as defined in the CSV
    Plugin URI: http://wordpress.stackexchange.com/q/57865/12615
    Author: brasofilo 
    Author URI: http://rodbuaiz.com
*/
register_activation_hook(__FILE__, 'wpse_57865_activation_run');

function wpse_57865_activation_run()
{
    // THE PREG_SPLIT IS NOT ADEQUATE FOR COMPLEX STRINGS
    // Code snippet: http://stackoverflow.com/q/7502370/1287812
    $file = file_get_contents( plugin_dir_path( __FILE__ )  . 'categories.csv' );
    $data = array_map( "str_getcsv", preg_split( '/\r*\n+|\r+/', $file ) );

    if( count($data) < 1)
        return;

    // http://codex.wordpress.org/Function_Reference/wp_insert_category
    foreach( $data as $cat )
    {
        $cat_defaults = array(
          'cat_name' => $cat[0],
          'category_description' => $cat[1] 
        );

        wp_insert_category($cat_defaults);
    }

}

ファイル:

/wp-content/plugins/create-cats-from-csv/categories.csv

Category Title, Category Description
First Category, Lorem ipsum dolor sit amet
Second Category, Consectetur adipisicing elit
Third Category, Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
3
brasofilo