サポート » プラグイン » Really Simple CSV Importerでカスタムタクソノミーがインポーできません

  • 解決済 greon999

    (@greon999)


    表題の件に関して、色々調べても解決方法を発見できませんでしたのでこちらでご質問させていただきました。
    まずは環境を記載させていただきます。

    【wordpressのバージョン】4.9.8
    【Really Simple CSV Importerのバージョン】1.3
    (↑どちらも最新バージョンです。)
    【テーマ】cocoon(https://wp-cocoon.com/)の親テーマは一切改変せず、子テーマのみでカスタマイズしたもの。
    【その他に使用しているプラグインなど】なし
    【サーバー】Xサーバー

    そして、自作でカスタム投稿を作成し、function.phpに以下のように記述しています。

    // カスタム投稿を作成
    function post_type_c01() {
        register_post_type( 'custom01',
            array(
                'label' => 'custom01', //表示名
                'public'        => true, //公開状態
                'exclude_from_search' => true, //検索対象に含めるか
                'show_ui' => true, //管理画面に表示するか
                'show_in_menu' => true, //管理画面のメニューに表示するか
                'menu_position' => 101, //管理メニューの表示位置を指定
                'hierarchical' => true, //階層構造を持たせるか
                'has_archive'   => true, //この投稿タイプのアーカイブを作成するか
                'supports' => array(
                    'title',
                    'editor',
                    'comments',
                    'excerpt',
                    'thumbnail',
                    'custom-fields',
                    'post-formats',
                    'page-attributes',
                    'trackbacks',
                    'revisions',
                    'author'
                ), //編集画面で使用するフィールド
            )
        );
    }
    add_action( 'init', 'post_type_c01', 1 );
    // カスタムタクソノミーを作成
    function taxonomies_c01() {
        register_taxonomy( 'tax_custom01',
            array( 'custom01' ),
            array(
                'label'            => 'tax_custom01', //表示名
                'show_ui'           => true, //管理画面に表示するか
                'show_admin_column' => true, //管理画面の一覧に表示するか
                'show_in_nav_menus' => true, //カスタムメニューの作成画面で表示するか
                'hierarchical'      => true, //階層構造を持たせるか(持たせるとカテゴリー扱い)
            )
        );
    }
    add_action( 'init', 'taxonomies_c01', 0 );

    状況として、csvのタイトル(?)をtax_custom01としているものだけインポートできません。
    (その他の、post_typeやらpost_titleなどは全てインポートできるので、csvをutf8に変換してないなどといったことではありません。)
    例えばtax_custom01の値(ターム)をcate01、cate02として、cate01、cate02をダッシュボードで作成済の状態でも未作成の状態でも値が反映されません。
    (★未作成の状態でもインポートできる結果が理想です。)
    投稿済(あるいはインポート済)の記事に対して、ダッシュボードの記事編集でcate01やcate02にチェックを入れると問題なく反映されるので、function.phpで作成したカスタム投稿やカスタムタクソノミーに問題があるとも思えません。

    いろいろなサイトを調べましたが、カスタムタクソノミーのインポートに関して触れているサイトを見つけられませんでしたのでこちらで質問させていただきました。
    以下のようなサイトに、
    http://notnil-creative.com/blog/archives/3465
    カスタムタクソノミーは tax_{taxonomy} とすると書かれてあるようなサイトしか発見できません。

    解決方法、もしくは思い当たる点をご存知の方がいらっしゃいましたら、お知恵をいただければ幸いです。
    何卒よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    「接頭辞 tax_ で始まるフィールドは、カスタムタクソノミーとして使われます」とあるので、カスタムタクソノミー名が tax_custom01 の場合、フィールド名は “tax_tax_custom01” ではないでしょうか。
    http://notnil-creative.com/blog/archives/3465

    ダッシュボードで作成済の状態でも未作成の状態でも値が反映されません。

    「タクソノミーはすでに登録済みである必要があります」と明記されていますね。

    CSV ファイルの例:

    "post_id","post_name","post_author","post_date","post_type","post_status","post_title","post_content","tax_tax_custom01"
    ,"test1",,,"custom01","publish","Test 1","テスト","cate01"

    >ishitakaさん
    ご回答ありがとうございます。
    おっしゃるとおりでした!csvをtax_tax_custom01にすればインポートできました!

    「接頭辞 tax_ で始まるフィールドは、カスタムタクソノミーとして使われます」
    という点を、自分は「カスタムタクソノミー名はtax_で始まる名前にしなければいけない」と解釈し、その名前のままのcsvを作成していたのでうまくいかなかったようです。
    カスタムタクソノミー名は自由に設定して、csvではその名前の頭にtax_をつければよいということが理解できました。

    また、ダッシュボードでcate01、cate02のようなタームを作成してからでなくても、tax_tax_custom01の値としてcate01、cate02を読み込めば自動的にタームが作成される・・・つまりは
    (★未作成の状態でもインポートできる結果が理想です。)
    という目的が果たせることも確認できました。

    非常に助かりました。
    お知恵、ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Really Simple CSV Importerでカスタムタクソノミーがインポーできません」には新たに返信することはできません。