サポート » 使い方全般 » 外部データをupdate_post_metaなどでカスタムタクソノミーに入れたい

  • 解決済 igawan

    (@igawan)


    お世話になります。
    wordpressを勉強中ですが、どうしても分からないのでお知恵を拝借したく。
    外部のデータを読み込んでwp_insert_postとupdate_post_metaで直接ページを作成、上書きしているのですが、カスタムタクソノミーの場合どのように入れれば良いのか分からず、行き詰まってしまいました。

    現状は下記のような感じでカスタムフィールドのテキストフィールドでやっていました。絞込機能として利用する都合上、カスタムタクソノミーに変更したく思います。
    変更したいのはmadori0~の部分で現状は以下のような値を渡しています。
    $madori0 = 1K
    $madori1 = 1DK
    $madori2 = 1LDK

    $oldpost = get_page_by_title($title2, OBJECT, ‘post’);
    $oldtitle = $oldpost->post_title;
    if($title2 === $oldtitle){
    /* 投稿 */
    $insert_id = $oldpost->ID;
    }else{
    // 投稿オブジェクトを作成
    $my_post = array(
    ‘post_title’ => $title2,
    ‘post_status’ => ‘publish’,
    ‘post_type’ => post,
    );
    /* 投稿 */
    $insert_id = wp_insert_post($my_post); //$insert_idには投稿のID(「wp_posts」テーブルの「ID」)が入る。 投稿に失敗した場合は0が返る。
    }

    if($insert_id ) {
    update_post_meta($insert_id, location, $location);
    update_post_meta($insert_id, madori0, $madori0 );
    update_post_meta($insert_id, madori1, $madori1 );
    update_post_meta($insert_id, madori2, $madori2 );
    update_post_meta($insert_id, madori3, $madori3 );
    update_post_meta($insert_id, madori4, $madori4 );
    update_post_meta($insert_id, madori5, $madori5 );
    update_post_meta($insert_id, madori6, $madori6 );
    update_post_meta($insert_id, madori7, $madori7 );
    update_post_meta($insert_id, shikikin, $shikikin );
    update_post_meta($insert_id, reikin, $reikin );
    update_post_meta($insert_id, tyukai, $tyukai );
    update_post_meta($insert_id, freerent, $freerent );
    unset($madori0,$madori1,$madori2,$madori3,$madori4,$madori5,$madori6,$madori7,$shikikin,$reikin,$tyukai,$freerent);
    } else {
    echo “登録失敗”;
    }

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • wp_set_object_terms 関数でタームの挿入ができます。

    関数リファレンス/wp set object terms – WordPress Codex 日本語版

    トピック投稿者 igawan

    (@igawan)

    ご回答ありがとうございます!!
    教えて頂いたとおり、下記を追加したところ反映されました。

    $madori_array = compact(“madori0”, “madori1”, “madori2”, “madori3”, “madori4”, “madori5”, “madori6”, “madori7”);
    wp_set_object_terms( $insert_id, $madori_array, ‘category’, false );

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「外部データをupdate_post_metaなどでカスタムタクソノミーに入れたい」には新たに返信することはできません。