Je rencontre un souci avec la gestion d'un filtre pour un site.

J'ai créé une extension avec des taxonomies dans le fichier functions.php.

J'aimerai récupérer le parent dans ma balise <h4> et les enfants dans un <ul><li>

Mais je ne sais pas comment faire.

Mon fichier functions.php :

// Post type TUTORIEL
add_action('init', 'tutoriel_init');
function tutoriel_init() 
{
  $labels = array(
    'name' => 'Tutos',
    'singular_name' => 'Tutoriel',
    'add_new' => 'Ajouter un tutoriel',
    'add_new_item' => 'Ajouter un nouveau tutoriel',
    'edit_item' => 'Modifier un nouveau tutoriel',
    'new_item' => 'Nouveau tutoriel',
    'view_item' => 'Voir le tutoriel',
    'search_items' => 'Rechercher un tutoriel',
    'not_found' => 'Aucun tutoriel trouvé',
    'not_found_in_trash' => 'Aucun tutoriel dans la poubelle', 
    'parent_item_colon' => '',
    'menu_name' => 'Tutoriels'
  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'show_ui' => true, 
    'show_in_menu' => true, 
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post', 
    'hierarchical' => false,
    'menu_position' => 3,
    'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')
  ); 
  register_post_type('tutoriel',$args);
}
add_action( 'init', 'create_taxonomy', 0 );
function create_taxonomy() 
{
  $labels = array(
    'name' => 'Domaines',
    'singular_name' => 'Domaine',
    'search_items' => 'Rechercher un domaine',
    'all_items' => 'Tous les domaines',
    'edit_item' => 'Editer un domaine', 
    'update_item' => 'Modifier un domaine',
    'add_new_item' => 'Ajouter un domaine',
    'new_item_name' => 'Nouveau domaine',
    'menu_name' => 'Domaines'
  );     
  register_taxonomy('domaines',array('tutoriel'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'domaines' )
  ));
}

Mon fichier HTML :

<div class="cat-filter">
<h4>#Parent</h4>
<ul>
<li><a href="#"></a> #enfants <span>(5)</span></li> |
</ul>
</div>

Merci d'avance de vos réponses.

Cordialement AntoineB.

5 réponses


je ne vois pas trop pourquoi tu as besoin de la balise parent dans ton cas:
peut être qu'en expliquant un peu plus il y aurait une autre démarche plus logique pour arriver a ton besoin finale

cela dit, tu ne dit pas dans quel contexte tu veut récupéré le parent ou l'enfant

SI c'est dans CSS:
Bien que certaines proposition ont été emises (des astuces) la sélection du parent est en principe prévu pour la version 4 de CSS, pour l'enfant il suffit d"utiliser le signe ">" ou alors carrément les pseudo classes du type first-child last-child
SI c'est dans jQuery:
tu as les fonctions parent() et children() qui font l'affaire
Mais bon je ne voit pas trop a quoi ca te servirait vu que dans ta loop wordpress c'est toi qui contrôle ou tu va mettre tes éléments ou blocs
Bref j'espère que ca t'aidera :) bonne continuation

Antoineb
Auteur

Quand j'utilise le mot enfant et parent, c'est les catégories et les sous catégories de ma taxonomie WordPress !

Mais merci quand même ;)

ah :) j'ai l'air bête...
tu n'as pas dit parent et enfant de quoi! :)
sur wordpress tu as la fonction get_children()
mais bon je sais pas trop a quoi tu l'utiliseras... je dis ca parce que si jamais tu penser par exemple a étendre ton menu via l'utilisation d'objet tu as la propriété has_children
par exemple:

class tontheme_walker extends Walker_Nav_Menu
{
    var $link_counter=0;
  function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output )
    {
        $id_field = $this->db_fields'id'];
        if ( is_object( $args[0] ) ) {

            $args[0]->has_children = ! empty( $children_elements$element->$id_field] );
        }
        return parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
    }
pour ce

qui est des parents je sais pas moi je l'inséer dans mon query_posts

query_posts('post_type=homepage&orderby=menu_order&post_parent='.$parent.'&order=ASC&showposts=-1');

voila :) plus détails m'aidera a mieux te répondre :)

Antoineb
Auteur

si tu veux c'est pour faire un filtre dynamique pour un portfolio

Antoineb
Auteur

Personne pour m'aider ?

@BenFarhat pour discuter voici mon Skype antoine.beringer