web-dev-qa-db-fra.com

Comment importer des catégories avec des descriptions à partir d'un fichier CSV?

Comment importer une liste de nouvelles catégories et de nouvelles descriptions de catégories à partir d'un fichier de valeurs séparées par des virgules?

2
Ruriko

Très simple plugin pour y parvenir.

S'exécute uniquement à l'activation. Ainsi, s'il y a 5 fichiers CSV, le plug-in doit être activé/désactivé cinq fois.

Fichier:

/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);
    }

}

Fichier:

/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