• 解決済 xxxpudding

    (@xxxpudding)


    いつもお世話になっております。

    現在カテゴリー構造が以下のようになっています。

    親カテゴリー(id:1)
    -子カテゴリー(id:2,3,4)
    –孫カテゴリー(id:5,6,7)

    ID:1(親カテゴリー)にぶら下がる子カテゴリーのID(2,3,4)のみ取得したい(孫カテゴリー以下のIDは取得しない)のですが、get_category_childrenで試してみた所、子も孫も取得してしまいました。

    子カテゴリーのみ取得する方法はありますでしょうか。
    ご教示宜しくお願い致します。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • get_categories(array('parent'=>1, 'hide_empty'=>false))
    余談ですが、
    get_category_children() は、非推奨・廃止予定のタグで、代わりに get_term_children() を使う方が良いそうです。

    トピック投稿者 xxxpudding

    (@xxxpudding)

    ue様

    ご回答ありがとうございます。
    お教え頂いたもので、希望どおりの動作になりました!

    ただ、お教え頂いたものの出力結果は、stdClassオブジェクトというものらしく、
    そのまま配列として扱う事が出来なかったので、配列に変換する処理が必要でした。

    超php初心者の私は「なんなんだこれは!@@;」としてしまいましたが、
    同じ初心者の方向けに、解決方法を記録しておきます。

    【stdClassオブジェクトを連想配列に変換する – SC SUGAR CLIP様】
    http://sugar-clip.jp/1857.html

    一部抜粋

    次のような関数を用意しておくと便利です。
    function stdclass_to_array($objDATA) {

    $arrayDATA = (array) $objDATA;
    $arrayKeys = array_keys($arrayDATA);
    $intCount = count($arrayKeys);

    for($i=0;$i<$intCount;$i++){

    $arrayDATA[$arrayKeys[$i]] = (array) $arrayDATA[$arrayKeys[$i]];

    }

    return $arrayDATA;

    }

    さっそく上記関数を使ってみます。
    $objCategory = get_categories();
    $arrayCategory = stdclass_to_array($objCategory);
    print_r($arrayCategory);

    トピック投稿者 xxxpudding

    (@xxxpudding)

    私の場合は上記コードを
    $objCategory = get_categories(array(‘parent’=>1, ‘hide_empty’=>false))
    とし、無事動作致しました。

    ue様、SC SUGAR CLIP様有難う御座いました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「子カテゴリー(孫カテゴリーIDは除く)のIDを取得したい」には新たに返信することはできません。