2012-12-06 5 views
0

Fondamentalement, je voudrais créer une fonction qui créera à son tour un tableau multidimensionnel basé sur une autre fonction. Voici le format du tableau que je dois créer (résultat final):Comment créer une fonction qui va créer un tableau multi-niveaux basé sur un autre tableau

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

Cela devra être créé par une fonction en utilisant un autre tableau qui a été créé pour stocker les catégories wordpress:

$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; 
}  

Et voici le code que j'ai écrit pour essayer d'accomplir ce que je viens de décrire, mais n'a pas pu le faire fonctionner:

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 
     ), 
     ); 
    } 
} 

Toute idée de ce que je suis absent? L'aide serait très appréciée.

Mise à jour: Voici une illustration de ce que je dois: descriptin 1

description 2

+0

Pour commencer, vous ne sauvegardez pas le tableau dans une variable. –

Répondre

1

Peut-être quelque chose comme:

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()); 

Créer une variable vide $ en boucle à travers les catégories et chaque boucle ajouter un nouveau tableau dans le format désiré. Je ne suis pas sûr de ce qui est en ce qui concerne le slug/term_id, donc vous devrez peut-être changer ces.

+0

Bonjour Jonathan. Merci de votre aide. Cela a fonctionné, mais le tableau ne contenait pas tous les éléments dont j'avais besoin. J'ai ajouté une image expliquant quel tableau j'ai besoin et où l'élément devrait aller. – WagnerMatosUK

+0

Je crois que j'ai eu un tableau supplémentaire là-bas. Vérifie-le maintenant. Cela devrait correspondre à votre sortie demandée. Cependant, comme je l'ai dit, dans la catégorie $, je n'ai aucune idée de ce que sont les champs, je devinais simplement en fonction du code que vous aviez écrit. Si slug/term_id ne sont pas au bon endroit (ou pas la bonne propriété), vous devrez les corriger car je n'ai aucune idée de ce à quoi se réfère slug/term_id. –

+0

En outre, vous dites que la première clé doit être le nombre 1,2,3, mais dans toutes les images, il montre "un", "deux", "trois" comme la clé (texte, pas de chiffres). –

Questions connexes