0

基本的には、別の関数に基づいて多次元配列を作成する関数を作成したいと思います。作成する必要のある配列の形式は次のとおりです(最終結果)。

'options' => array (
        'one' => array (
            'label' => 'Option One',
            'value' => 'one'
        ),
        'two' => array (
            'label' => 'Option Two',
            'value' => 'two'
        ),
        'three' => array (
            'label' => 'Option Three',
            'value' => 'three'
        )
    )

これは、ワードプレスのカテゴリを格納するために作成された別の配列を使用する関数によって作成される必要があります。

$categories = get_categories('hide_empty=0&orderby=name');
$wp_cats = array();
foreach ($categories as $category_list ) {
       $wp_cats[$category_list->cat_ID] = $category_list->cat_name;
}       

そして、これが私が説明したことを達成するために書いたコードですが、それを機能させることができませんでした:

    function wcat2() {
    $i = 0;
    $categories = get_categories();
    foreach( $categories as $category ) {
        $i++;
        array (
        $i => array (
            $category->slug => $category->slug,
            $category->term_id  => $category->term_id
        ),
        );
    }
}

私が欠けているもののアイデアはありますか?助けていただければ幸いです。

更新:これが私が必要とするものの実例です: 記述子1

説明2

4

1 に答える 1

1

たぶん次のようなもの:

function wcat2() {
    $out = array();
    $categories = get_categories();
    foreach( $categories as $category ) {
        $out[$category->term_id] = array(
            'label' => $category->slug,
            'value' => $category->term_id
        );
    }
    return array('options'=>$out);
}
print_r(wcat2());

空の変数 $out を作成し、カテゴリをループして、各ループで目的の形式で新しい配列を追加します。slug/term_id に関してはどちらが正しいかわからないので、それらを切り替える必要があるかもしれません。

于 2012-12-06T00:27:15.093 に答える