7
votes

WooCommerce Afficher les articles achetés uniquement

J'ai donc fait un tas de regarder autour du Web et je n'ai pas pu trouver une solution pour cela ...

En gros, ce que j'essaie de faire est d'afficher une boucle de produit de tous les produits achetés dans Le magasin comme afficher des produits normaux.

Si vous ne comprenez toujours pas peut-être que cela vous aidera à obtenir ce que je veux dire ..

Voici l'exemple de boucle de produit sur la documentation WOOCOMMERCE ... xxx

Alors, alors que si je voulais afficher fondamentalement, cette même boucle de produit exacte telle que celle-ci affiche uniquement les produits que l'utilisateur a déjà acheté.

Je ne sais honnêtement pas où aller avec celui-ci et je suis sûr qu'il y a d'autres qui ont fait des recherches à ce sujet dans le passé, alors peut-être que cela aidera-t-il à un groupe de personnes!

Merci d'avance!


0 commentaires

3 Réponses :



9
votes

4 commentaires

Et si je voulais aussi montrer que des produits dans une certaine catégorie?


Ok, j'ai compris la catégorie moi-même, mais une autre question si je voulais faire vérifier une variable méta. Par exemple, si l'utilisateur a un abonnement en cours, cet abonnement en cours serait défini dans chaque produit méta sous "Paiement_plan_subscription_id_text_field" et le plugin IM à l'aide de la fonction suivante "WOOCOMMERCE_MEMBERS_ONLY (tableau ()" Alors, que si je voulais dire si le Le client a acheté ce produit ou || Si le client se trouve dans ce groupe d'adhésion dans le produit Meta.


@ kmgilbert100 Vous pouvez atteindre cela à l'aide du code à partir du lien donné .. Veuillez lire cela;)


Le lien FusressPress.com est actuellement en baisse



8
votes

kudos à Appememan1234 pour fournir deux réponses, qui fonctionneront tous les deux.

Appleman1234's Première réponse qu'il a fourni un exemple pour la boucle de tous les produits, puis de les filtrer en appelant wc_customer_bought_product () code>. Cela fonctionnera certainement. Si vous avez des produits N code>, vous allez faire des requêtes de base de données n + 1 code>. P>

Sa seconde suggestion est un lien vers un post écrit par Brajesh Singh Qui, le 2 juin 2013, a publié une solution sur FustionPress.com. Le message d'origine n'est plus disponible. J'ai trouvé un Copie mise en cache sur Google. P>

La solution de Brajesh Singh demande les commandes de l'utilisateur, puis interroge les détails de la commande et la dernière requête l'ID de produit dans les métadonnées de la commande. Cette solution est alors toujours seulement 3 requêtes. Sauf si votre boutique n'a que 1 ou 2 produits, cette solution est bien meilleure. P>

Voici une version légèrement modifiée du code de Brajesh Singh. P>

<ul class="products">
        <?php
        $args = array(
            'post_type' => 'product',
            'post__in' => so28362162_get_all_products_ordered_by_user(),
            'posts_per_page' => -1
        );
        $loop = new WP_Query($args);
        if($loop->have_posts()) {
            while($loop->have_posts()) : $loop->the_post();
                wc_get_template_part('content', 'product');
            endwhile;
        }
        else {
            echo __('No products found');
        }
        wp_reset_postdata();
        ?>
    </ul><!--/.products-->


1 commentaires

J'ai bien peur que votre lien mis en cache soit bas aussi :( Merci pour votre explication. Je vais essayer avec Appememan1234 'S Deuxième solution (merci beaucoup pour vous aussi).