2016-07-24 3 views
3

Je suis en train de modifier le prix du produit à l'aide de crochets et ont réussi à le faire pour le produit régulier à l'aide:crochet WooCommerce pour le prix de variation

function filter_woocommerce_get_price() { 
    return 55; 
}; 
add_filter('woocommerce_get_price', 'filter_woocommerce_get_price', 10, 3); 

J'ai remarqué que ce crochet ne concerne pas les produits de variation, donc J'ai trouvé équivalent:

function filter_woocommerce_get_variation_price() { 
    return 66; 
}; 
add_filter('woocommerce_get_variation_price_html', 'filter_woocommerce_get_variation_price', 10, 3); 

Mais il ne va pas fonctionner ... Je aussi essayé ceci:

add_filter('woocommerce_variation_sale_price_html', 'my_html', 10, 2); 
add_filter('woocommerce_variation_price_html', 'my_html', 10, 2); 
function my_html($price, $variation) { 
    return woocommerce_price(5); 
} 

Et des solutions similaires, j'ai trouvé en ligne, mais rien n'a changé le prix de mes produits de variation.

Qu'est-ce que je fais mal? Quelqu'un peut-il, s'il vous plaît, m'aider avec ceci, devenir assez désespéré ici?

+0

Je vais essayer un peu plus tard de trouver quelque chose de pratique et testé, car je suis un peu occupé maintenant. Les prix des produits variables et les variations des prix sont vraiment beaucoup plus compliqués, que tous les autres types de produits ... [** helgatheviking **] (http://stackoverflow.com/users/383847/helgatheviking) l'utilisateur est l'expert ici en SO, concernant ce genre de problèmes. – LoicTheAztec

+0

Merci d'avoir regardé cela. Ce que je fais avec les prix réguliers, c'est de les changer avec une valeur de champ personnalisée si un certain rôle d'utilisateur est connecté. La même chose dont j'ai besoin est pour la variation des prix des produits. Je sais que les variations peuvent avoir une gamme de prix donc il est difficile de faire la même chose, mais dans mon cas, si un produit est de différentes couleurs, le prix restera le même, tout le besoin est de tirer la même valeur de champ personnalisé au lieu de prix de variation. c'est le lien vers le site dev: http://bajko.webdotagency.com/ mais il est dans ... Serbian merci encore –

+0

Merci pour que les détails importants * (Sans doute que Topalovic était :) ... Serbian) * - Si vous ne savez pas (et que vous le voulez), vous pouvez supprimer quelques vieux commentaires inutiles en cliquant sur la petite icône en forme de croix grise lorsque vous les planez ... – LoicTheAztec

Répondre

0

Votre problème est que vous ne définissez pas les arguments nécessaires à votre fonction, le nombre ajouter la fin de add_filters signifie que vous passez 3 arguments, donc vous devez le faire comme ceci:

function filter_woocommerce_get_variation_price($price, $product) { 
    return 66; 
}; 
add_filter('woocommerce_get_variation_price', 'filter_woocommerce_get_variation_price', 10, 2); 

La fonction peut donc être appelée.

+0

Salut, merci pour une réponse, mais vous avez posté un crochet pour woocommerce_get_price, j'ai réussi à travailler avec et sans arguments. C'est le woocommerce_get_variation_price avec lequel j'ai des problèmes. J'ai essayé d'ajouter des arguments à ce crochet, mais toujours pas de chance. –

+0

Bonjour, J'ai mis à jour la réponse pour utiliser 'woocommerce_get_variation_price' si cela fonctionne, sélectionnez comme réponse, Vous devez changer l'appel add_filter – Skatox