[Résolu] Champ meta, listing produit categories

  • WordPress :5.2
  • Statut : résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #2278045
    Cyril91
    Participant
    Initié WordPress
    8 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 5.6.36
    • Thème utilisé : Shopkeeper
    • Extensions en place :
    • Nom de l’hébergeur :
    • Adresse du site :

    Problème(s) rencontré(s) :
    WP : 5.2.3–fr_FR

    Je souhaite mettre en place un shop qui  présentera des produits avec des liens d’affiliation uniquement – pas de vente sur le site – et je souhaiterais donc personnaliser le listing des produits quand on affiche une catégorie. Pour chaque produit on a une vignette, son nom, le prix et le lien d’affiliation. Je souhaiterais remplacer l’information prix par le champ le champ UGS  (_sku) du produit.

    Afficher cette information au niveau de la fiche produit c’est fait, je gère et c’est assez simple en fait… mais remonter cette information dans le listing catégorie est plus compliqué pour moi :-(.

    Je suppose qu’il faut passer par add_filter dans le function.php mais je sèche un peu

    J’ai testé ceci :
    // add_filter(‘woocommerce_after_shop_loop_item_title_loop_price’,’fun’,10);
    // function fun()
    // {
    // echo “MONTESTEBDUR”;
    // }

    Et j’ai bien MONTESTEBDUR où je souhaite 🙂 mais pour appeler le meta_value du meta_key = _sku du post rattaché au produit c’est le neant pour moi lolll.

    J’ajoute 3 capture en pj
    1. actuellement – le basique existant
    2. ce que je sais faire en ajoutant un add_filter et une information en dur dans le functions.php tu thème . Ici par exemple
    // add_filter(‘woocommerce_after_shop_loop_item_title_loop_price’,’fun’,10);
    // function fun()
    // {
    // echo “MONTESTEBDUR”;
    // }
    3. ce que je voudrais “MONSKU” qui est l’information UGS renseignée dans les options du produit.

    MErci par avance de votre aide.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2278071
    ferman
    Participant
    Maître WordPress
    1189 contributions

    Bonjour,

    Essayez le code ci-dessous. Cela fonctionne chez moi  pour les produits simples et variables . Après il faudra voir la répercussion sur les autres pages  boutique (panier, commande); je n’ai pas regardé.

    function display_sku_instead_of_price( $price ) {
    
    		global $product;
    		$price = $product->get_sku();       
            echo '<span class="price-sku">', $price ,'</span>';
          }
        add_filter( 'woocommerce_get_price_html', 'display_sku_instead_of_price' );
        add_filter( 'woocommerce_cart_item_price', 'display_sku_instead_of_price' );

    • Cette réponse a été modifiée le il y a 3 weeks et 5 jours par  ferman.
    • Cette réponse a été modifiée le il y a 3 weeks et 5 jours par  ferman.
    #2278107
    Cyril91
    Participant
    Initié WordPress
    8 contributions

    Merci mille fois pour votre retour ferman !!!!

    En effet c’est parfait pour moi en l’état.
    Je regarderai les répercutions sur les autre pages.

    Désolé j’en profite un peu, je ‘tiens’ quelqu’un qui maîtrise le sujet 🙂

    Je pourrais appeler la valeur d’un champ personnalisé du produit de la même manière ?
    Exemple, supposons un champ personnalisé dans la fiche admin du produit dont le nom (metakey) serait ‘jump’

    function display_jump_instead_of_price( $jump ) {
    
    		global $product;
    		$jump = $product->get_jump();       
            echo '<span class="price-jump">', $jump ,'</span>';
          }
        add_filter( 'woocommerce_get_price_html', 'display_jump_instead_of_price' );
        add_filter( 'woocommerce_cart_item_price', 'display_jump_instead_of_price' );

    Merci encore !

    • Cette réponse a été modifiée le il y a 3 weeks et 4 jours par  Cyril91.
    #2278108
    Cyril91
    Participant
    Initié WordPress
    8 contributions

    Oups j’ai trouvé moi-même la réponse à ma question il faudrait utiliser visiblement ceci

    $price = get_post_meta($product->get_id(), 'jump', true)

    Ca fonctionne… merci encore de ton aide précieuse !!!!

    • Cette réponse a été modifiée le il y a 3 weeks et 4 jours par  Cyril91.
    • Cette réponse a été modifiée le il y a 3 weeks et 4 jours par  Cyril91.
4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.