web-dev-qa-db-fra.com

Woocommerce - Comment créer un lien vers une variation de produit?

J'essaie de trouver un moyen d'avoir un lien vers une variation de produit spécifique.

Je pensais l'avoir résolu avec ce plugin ... https://wordpress.org/plugins/woocommerce-direct-variation-link/

Cependant, j'ai 2 noms d'attribut de produit Word et je n'arrive pas à le faire fonctionner? Je mets _, -, & et + entre les 2 mots mais je n'y vais pas.

Voici la doc ... Dans mon cas, j'aurais "style de couleur" au lieu de "color" mysite.com/product/happy-ninja /? couleur = bleu

mysite.com/product/happy-ninja/?color=blue&size=small (les variations supplémentaires doivent être séparées par '&')

mysite.com/product/happy-ninja/?color=blue+green (où la valeur de variation est "Blue Green" avec l'espace remplacé par un '+')

12
MrMo

Suite à la dernière affiche, je n'ai pas pu faire fonctionner son code correctement, mais j'ai découvert que WooCommerce les génère pour le panier la plupart du temps:

  1. Visitez vous-même un produit de variation
  2. Ajouter une variante au panier
  3. Ouvrez votre panier et survolez l'article -> le lien dans votre barre d'état (ou clic droit> Copier l'adresse du lien) est-ce!

Il doit avoir un suffixe comme celui-ci: http://website.com/product/product-name/?attribute_colours=Grey

Notez que colours est en minuscules car c'est le slug tandis que Grey est le nom réel de la variation.

Pour les espaces dans le nom de votre variante, utilisez un + au lieu de l'espace.

Pour sélectionner plusieurs attributs de variation, je pense que vous pouvez simplement commencer par & et crachez le ?attribute_[slug]=Variation encore.

8
Ashwin Anandani

J'ai moi-même essayé tant de solutions et de plugins, mais j'ai trouvé un moyen de le faire facilement sans plugin. Je ne sais pas si cela a fonctionné en octobre 2015, mais cela fonctionne maintenant.

Je l'ai expliqué dans cette vidéo youtube https://www.youtube.com/watch?v=Y_hMI4bXN6A

Ce que vous voulez faire, c'est ajouter quelque chose comme '/? Attribute_color = red' derrière votre produit.

website.com/shop/product1/?attribute_color=red
website.com/shop/product1/?attribute_length=10m

Cependant, ce que j'ai découvert par essais et erreurs, c'est ce qui importe, c'est le type d'attribut que vous utilisez. Vous pouvez ajouter un attribut de 2 façons, un attribut prédéfini (texte/sélection) ou un attribut personnalisé. La liaison directe avec cette méthode ne fonctionne que si vous créez un attribut de produit personnalisé.

Pour que cela fonctionne, vous devez faire attention si vous avez utilisé des lettres capitales ou non. Pour le nom de l'attribut de produit personnalisé, peu importe si vous utilisez des capitoles dans le backend (tant que vous n'utilisez pas de thème dans l'URL). Cependant, pour les valeurs, vous ne pouvez utiliser que des lettres normales et pas de majuscules, à la fois dans le backend et dans l'url elle-même.

Exemple

Nom: Couleur

Valeurs: rouge | Vert noir

website.com/shop/product1/?attribute_color=red > will work
website.com/shop/product1/?attribute_Color=red > will not work
website.com/shop/product1/?attribute_color=Red > will not work
website.com/shop/product1/?attribute_color=Black > will work
website.com/shop/product1/?attribute_color=black > will not work

Je l'ai expliqué dans cette vidéo youtube https://www.youtube.com/watch?v=Y_hMI4bXN6A

6
user7380555

J'utilise un plugin Nuancier de variations pour WooCommerce donc je ne suis pas sûr que ce soit le noyau wordpress/fonctionnalité woocommerce ou non.

Ce que j'ai fait, c'est ouvrir un de mes produits et dans "" Données produit "je suis allé dans l'onglet" Produits liés "et j'ai lié une de mes variantes au produit. Mis à jour et je suis allé sur la page du produit. qui ressemble à ceci:

example.eg/product/product-name-slug/?attribute_pa_kids-size=27&attribute_pa_color=navy

suivant ?attribute_pa_ est mon nom d'attribut slug (kids-size) et suit = est un slug pour le slug à attribut unique (27, 28, bleu, rouge, marine ...). Comme vous pouvez le voir, cela fonctionne pour plusieurs attributs dans l'URL. Si vous ne connaissez pas vos limaces, liez simplement votre produit de variation à un autre et copiez le lien.

3
marvinthegreat

Je pense que beaucoup chercheront une solution pour lier des variations spécifiques par un paramètre d'URL alors voici une réponse plus longue pour ce sujet.

Comme beaucoup d'autres mentionnés ici, vous pouvez accéder à toute variation avec le paramètre d'attribut. La façon dont vous choisissez une variante sur la page des détails du produit est un menu de sélection. L'attribut name de cette sélection est le nom du paramètre et l'attribut value options est la valeur du paramètre. Voici un exemple:

enter image description here

Si vous souhaitez lier la variation en surbrillance, votre lien sera comme https://example.com/some_product/?attribute_pa_size=small

Bien sûr, vous pouvez ajouter plusieurs paramètres comme https://example.com/some_product/?attribute_pa_size=small&attribute_pa_color=red

Le fait est que l'utilisation d'outils de développement pour extraire ces informations n'est pas une solution très pratique. Vous pouvez passer l'ID de variation woocommerce via get_permalink pour obtenir une URL réelle ... voici un extrait rapide qui fait exactement cela ... Le permalien de variation doit être visible dans l'administrateur wordpress de l'onglet de variation de produit spécifique/accordéon.

add_action( 'woocommerce_product_after_variable_attributes', 'gdy_add_wc_varition_permalink', 100, 3 ); 

function gdy_add_wc_varition_permalink( $loop, $variation_data, $variation ) {

    echo '<a href="' . get_permalink( $variation->ID ) . '" target="_blank">' . __( 'Permalink for this variation' ) . '</a>';

}
2
GDY

Je n'ai pas testé cela, mais essayez de remplacer votre espace dans votre nom de variation par% 20 qui est la version encodée en URL du caractère d'espace.

1
Richard Aubin

Dans tous les cas, vous pouvez créer des liens directs vers des variantes, ce qui signifie à la fois avec des variantes utilisant des attributs personnalisés et des variantes utilisant des attributs prédéfinis.

Il y a juste une légère différence dans le paramètre d'URL que vous devez ajouter à l'URL.

Exemples:

RL de variante d'attribut personnalisé:

domain.com/shop/product-x/?attribute_color=blue

RL de variante d'attribut prédéfinie:

domain.com/shop/product-x/?attribute_pa_color=blue

La seule différence est "pa_".

Remarque: La question est assez ancienne, mais je suis arrivé ici et je n'ai pas trouvé de réponse complète, alors je pense que je l'ajouterais pour que les autres en profitent.

1
Lasse Kristiansen

Vous pouvez simplement:

$variation_product_url = $variation_product->get_permalink();

WooCommerce s'occupe du reste; ajouter les paramètres corrects à l'url.

1
Unicco

Regardez simplement votre code HTML de page de produit unique, trouvez votre ID combo de sélection de variable de produit et ajoutez à la fin de l'URL:? Attribute_YOUR_ID = YOUR_VALUE

Vous pouvez utiliser des combinaisons si vous avez plusieurs options de variables, séparez-les avec &

exemple:

website.com/shop/product1/?attribute_id_of_variable_combo=value_of_combo 
0
Norbert Nowocin