祖先カテゴリーを返す関数

Pocket

カテゴリーの祖先カテゴリーIDの配列を返す

/**
 * 基準カテゴリーの祖先カテゴリーID配列設定
 * @param $cat_id 祖先カテゴリーを取得のする基準カテゴリーID
 * @throws InvalidArgumentException 引数がカテゴリーIDでない
 * @return void
 */
function setAncestorIds($cat_id, $ancestor_ids = array()) {
    $all_cat_ids = get_all_category_ids();
    if (false === in_array(intVal($cat_id), $all_cat_ids)) {
        throw new InvalidArgumentException('argument  is not category id');
    };
    $category = get_category($cat_id);        
    if (true === isset($category->parent) &&  0 !== intVal($category->parent)) {
        array_push($ancestor_ids, $category->parent);
        setAncestorIds($category->parent, $ancestor_ids);
    }
    rturn $ancestor_ids; 
}

» Gist

人気記事 はてなブックマーク

この日記のはてなブックマーク数