CPT filtrer avec des Tags (Créer un compte)

  • Statut : non résolu
9 sujets de 16 à 24 (sur un total de 24)
  • Auteur
    Messages
  • #987338
    didier07
    Participant
    Maître WordPress
    1965 contributions

    ll y en a d’autres aussi. Entre ca et les codex, il faut comprendre la logique de rewrite de wordpress, et surtout comment l’implémenter ensuite 🙂

    #987339
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Si je clic sur une image de mon portfolio celui-ci se redirige sur la page portfolio single non sur taxonomie-portfolio- logos.php ( http://localhost:8888/portfolio/logos)

    Quand je tape dans le champs URL -> http://localhost:8888/portfolio/logos, l’affichage de tous mes articles apparaissent .

    Donc le fichier taxonomie –portfolio-.php n’est pas pris en compte

    Si j’ai bien compris la hiérarchie est :

    ->1. taxonomy-portfolio-logos.php
    –>2. taxonomy-portfolio.php
    —>3 .taxonomy.php
    —->4. archive.php


    >5. index.php

    Dans le fichier function.php, j’ai ajouter ‘has_archive => true’ et ensuite supprimé.

    En vains, mais ou est l’erreur ?…. Est-ce-dû:

    il faut comprendre la logique de rewrite de wordpress, et surtout comment l’implémenter ensuite smile

    #987340
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Ôôps, je n’ai pas fini!!

    En vains, mais ou est l’erreur ?…. Est-ce-dû:

    didier07 wrote:
    il faut redéfinir tes fonctions rewrite et ta taxonomie pour arriver à ce que WordPress “accepte” de faire ses liens. 🙂

    C’est bien ça hein ? ^^

    #987341
    didier07
    Participant
    Maître WordPress
    1965 contributions

    Tu déclares logo au singulier dans ton register_toxonomy( ‘ma_taxo’, array(……))
    🙂

    Pour le reste j’ai pas regardé plus 😉

    #987342
    didier07
    Participant
    Maître WordPress
    1965 contributions

    J’ai repris ton code de déclaration. Tu déclares une taxonomie “logo” donc logo devient l’équivalent des catégories. Ton term nc’est les valeurs de logo comme “blanc” “rouge” “vert” par exemple

    Si tu veux afficher tous les logos de ton portfolio, il faut que tu définisses une taxonomy “type” dans ton CPT portfolio et que les valeurs de “type” soient “logo”, “webdesign”, “flyers”

     register_taxonomy(
            ‘filter’, 
            
            array(‘portfolio’), 
                array(
                    ‘hierarchical’ => true,
                    ‘labels’       => $labels,
                    ‘show_ui’      => true,
                    ‘query_var’    => true,
                    ‘rewrite’      => array( 
                                      ‘slug’         => type-de-filter’ 
                    ),
                )
            );

    J’ai pas regardé le reste du code

    Didier

    #987343
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Holala!!

    Je n’ai pas vu ton post entre temps, j’ai fait ainsi et j’en suis là (les labels sont fictifs pour l’instant)

    // portfolio Theme (=Tags)
    function custome_theme_init() 
    {
    	// initialize taxonomy labels
        $labels = array(
            ‘name’              => _x( ‘Themes’, ‘taxonomy general name’),
            ‘singular_name’     => _x( ‘Theme’, ‘taxonomy singular name’),
            ‘search_items’      => __( ‘Search Themes’, ‘refinery’ ),
            ‘all_items’         => __( ‘All Themes’, ‘refinery’ ),
            ‘parent_item’       => __( ‘Parent Theme’, ‘refinery’ ),
            ‘parent_item_colon’ => __( ‘Parent Theme:’, ‘refinery’ ),
            ‘edit_item’         => __( ‘Edit Themes’, ‘refinery’ ),
            ‘update_item’       => __( ‘Update Theme’, ‘refinery’ ),
            ‘add_new_item’      => __( ‘Add New Theme’, ‘refinery’ ),
            ‘new_item_name’     => __( ‘New Theme Name’, ‘refinery’ ),
        );
        // taxonomy for filters
        register_taxonomy(
            ‘theme’, // Nom de la taxonomie
           
            
            array(‘portfolio’), 
                array(
                    ‘hierarchical’ => true, // si oui c’est comme les catégories, si non c’est comme les tags 
                    ‘labels’       => $labels,
                    ‘show_ui’      => true,
                    ‘query_var’    => true,
                    ‘rewrite’      => array( 
                     
                    ),
                )
            );
    }
    add_action( ‘init’, ‘custome_theme_init’ );

    Grâce au plugin WP Simple debug admin info, je vois tout de suite quel est le template utilisé. Le problème de ce matin, je pense que c’était dû aux permaliens. Du coup, j’ai tout recommencé …. 😕 En ce moment ça fonctionne, je suis sur le bon template, mais il ne filtre rien, nada,nada.

    Donc je vais suivre attentivement tes conseils demain…

    Merci et bonne soirée

    #987344
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Ah! J’ai oublié de mentionner que j’ai filters => pour cat / Theme pour => tag ((s) j’ai oublié de le mettre au pluriel 😆 )

    #987345
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Bon ben c’est Ok!

    J’ai réussi, mauvaise nouvelle ce n’est pas ce que je voulais faire à la base…

    Vu qu’une image vaut mille mots

    [img]http://screenshot.net/729yqhj.jpg?fr[/img]

    -> Résultat obtenu avec la taxonomie

    Résultat désiré:

    yv8gru7.jpg

    Le problème est: vu qu’on ne peut pas définir à l’avance sur quelle image l’utilisateur va choisir et être affichée sur la page, il est difficile de chercher ou définir les catégories, tags et terme dans le code (partie du bas -> vignette).

    J’ai pensé (pas dans le bon sens) que si l’image s’affichait sur une page taxo-cat-terme ou taxo-tag-terme, il serait évident qu’il était plus simple ayant le terme d’exécuter ce bout de code dans la loupe

    $parent_term = term_exists( ‘blanc, ‘brun’ ); // array is returned if taxonomy is given
    $parent_term_id = $parent_term[‘term_id’]; // get numeric term id
    wp_insert_term(
      ‘Ours’, // the term 
      ‘theme’, // the taxonomy
      array(
        ‘description’=> ‘blabla’,
        ‘slug’ => ‘ours’,
        ‘parent’=> $parent_term_id
      )
    );

    Le code ci-dessus n’a pas été testé, à titre d’exemple ou d’utiliser la fonction query_posts …

    Est-ce que c’est faisable??… Trop compliqué??…

    Il m’est toujours possible d’afficher les dernières créas avec un chiffre aléatoire ou tout les items du portfolio (ce fut un bon exercice pour la compréhension du bon fonctionnement des CPTs et hiérarchie de WP )

    Si une personne à une idée, je suis preneuse 🙂

    #987346
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Pour compliquer l’exercice, je désire mettre les items dans un carrousel :D (je plaisante…)

    Si on reprend l’image NR.2 -> single-portfolio.php.
    Est-il possible d’arriver au résultat souhaité avec des marqueurs conditionnels ?

    Bonne idée ou mauvaise idée ? :search:

9 sujets de 16 à 24 (sur un total de 24)
  • Vous devez être connecté pour répondre à ce sujet.