web-dev-qa-db-fra.com

Désactiver des étiquettes de produits Woocommerce par ordre alphabétique

J'ai une boutique en ligne Woocommerce où chaque produit a au moins cinq tags. Le problème est que les étiquettes de chaque produit sont affichées par ordre alphabétique sur la page d'un seul produit.

Je voudrais savoir s'il est possible d'afficher des étiquettes de produits sans aucun tri.

En supposant que j'ai entré les balises ci-dessous dans l'ordre suivant: cTag, dTag, aTag, eTag, bTag

COURANTaffichage: aTag, bTag, cTag, dTag, eTag

ATTENDUdisplay: cTag, dTag, aTag, eTag, bTag

J'ai essayé de gérer le fichier single-product > meta.php pour le gérer, mais je n'ai rien trouvé qui puisse traiter de la fonction wc_get_product_tag_list.

1
Maxime Lafarie

J'ai finalement trouvé la source du problème:

Les erreurs ne viennent pas de l'écran, mais de la post-sauvegarde/mise à jour de Wordpress.

Comment reproduire:

  1. Aller à Post/Tags du produit:

 enter image description here 

  1. Ensuite, entrez une nouvelle étiquette:

 enter image description here 

  1. Ajoutez-le à la liste des tags:

 enter image description here 

Comme vous pouvez le constater, "Kiwi" est la dernière balise ajoutée et je souhaite les afficher tels quels.

  1. Puis enregistrez les modifications post (produit):

 enter image description here 

Comme indiqué ci-dessus, "Kiwi" n'est plus à la dernière place, mais à la 4ème place, et ce n'est pas ce que je veux.

Pour résumer, Wordpress trie par ordre alphabétique les différentes balises.

Puis-je dire à Wordpress de laisser l'ordre tel que défini dans les termes?

1
Maxime Lafarie

wc_get_product_tag_list utilise la fonction get_the_terms, vous pouvez donc utiliser le filtre get_the_terms pour réorganiser vos tags:

add_filter( 'get_the_terms', 'get_the_terms_filter', 10, 3 );
function get_the_terms_filter( $terms, $post_id, $taxonomy ){
  // filter...

  return $terms;
}
1
KAGG Design