Support

Account

Forum Replies Created

  • Thanks a lot i’ll check with my web hosting provider! 🙂 Sorry, i didn’t found the answer by myself with a search, i probably used wrong words =\

  • Ça fait plaisir!

    Bonne continuité et bon WE @elsappy 🙂


    @elliot
    i think Woocommerce does not use $post for products on archive-products.php.

    Have you any idea what i can use instead of $post? I’ll try to look further more to solve my body class trick for next use of this.

  • Crap.. j’avais tout écris et en voulant ajouter un link ça fermé l’onglet.. ok je recommence mais je vais faire un peu plus court!

    Bonne déduction, dynamique étant le ID selon la catégorie dans laquelle tu te trouves.

    De plus, je crois que comme tu dis, le $post ne s’applique pas dans Woocommerce.

    Tu peux donc utiliser le code que j’ai créé pour aller chercher le ID dans la classe de l’élément <body>

    <?php 
    //Get product_cat id	
    	foreach(get_body_class() as $term){
    		if(preg_match('/term-[0-9]/', $term)){
    			$exploded = explode('term-', $term);
    			$id = $exploded[1];
    		}		
    	}
    ?>

    Ensuite, tu dois créer une variable pour aller chercher ton champ ACF pour chaque catégorie spécifiquement :

    <?php
        $banner = get_field('field_51fbcc4b53e5f', 'product_cat_'.$id);	
    ?>

    Comment aller chercher ce ID (field_51fbcc4b53e5f)?

    Vas dans l’admin, sous Custom fields, et trouve ton champ ACF. Ensuite, clique droit et inspect l’élément. Voici une capture d’écran du ID de mon champ ACF en exemple plus haut :

    http://cl.ly/image/1U1V432w0n46

    Pas très compliqué à trouver 😉

    Donc par la suite tu n’auras aucune difficulté à utiliser ta variable (ici en exemple $banner) comme suit :

    <?php echo $banner ?>

    Voilà!

    J’espère que ça va fonctionner 🙂

    Bonne chance!

  • Bonjour elsappy,

    Pour être capable d’afficher ça dans la page archives, tu dois avoir le ID du terme utilisé pour cette archive.

    Pour ma part j’ai utilisé une fonction php afin de sortir le ID qui apparait dans une des classes du body… c’est pas très propre mais à ce moment là au moins ça fonctionnait 😉

    Tu peux commencer en essayant avec un ID hardcodé peut-être?

    <?php the_field(‘description_categorie_2′, ‘ product_cat_19′); ?> admettons. Je mets 19 à titre d’exemple mais tu vas retrouver cette classe sur ton champ body avec le bon id de page à la place. Par contre, sur ton champ body, le id va être relié à “term-” mais tu te dois d’utiliser product_cat_ pour les champs acf!

    Ensuite, pour le faire dynamique, Elliot a publié un lien utile qui pourrait fonctionner (je ne l’ai pas testé) : http://www.advancedcustomfields.com/resources/how-to/how-to-get-values-from-a-taxonomy-term/

    En utilisant ce code suivant :

    <?php
     
    global $post;
     
    // load all 'category' terms for the post
    $terms = get_the_terms($post->ID, 'category');
     
    // we will use the first term to load ACF data from
    if( !empty($terms) )
    {
    	$term = array_pop($terms);
     
    	$custom_field = get_field('category_image', 'category_' . $term->term_id );
    
    //ici je remplacerais get_field('category_image', 'category_' . $term->term_id
    
    //par get_field('description_categorie_2', 'product_cat_' . $term->term_id
     
    	// do something with $custom_field
    }
     
    ?>

    Tu pourrais obtenir le ID de catégorie que tu as besoin.

    En gros, tu as obligatoirement besoin du 2e paramêtre dans ton “the_field” qui se trouve à pointer la bonne catégorie 🙂

    Bonne chance! N’hésite pas si ça ne fonctionne pas, il y a toujours moyen de s’entraider 😉

Viewing 4 posts - 1 through 4 (of 4 total)