[Résolu] Récupérer une liste produit (Créer un compte)

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

    Bonjour,

    Je cherche à faire une fonction toute bête

    Je veux récupérer la liste de mes produits qui sont créer sur mon site, j’arrive à récupérer un produit en fonction de son id mais je veux lister tous les produit qui existe

    Il me semble qu’il faille utiliser ce shortcode https://docs.woocommerce.com/document/woocommerce-shortcodes/

    Ou en utilisant la commande wc_get_product.

     

    Mais je n’y arrive pas, pouvez vous m’indiquer la commande pour récupérer la liste de ses produits, soit une liste de chaque produit par leur nom ou par leur id peu importe

    PS: je travaille dans un function.php de mon plugin customs

    Ma configuration WP actuelle

    • Extensions en place : Woocommerce
    #2295690
    mathieu42
    Participant
    Maître WordPress
    2016 contributions

    le shortcode «  » ne vous convient pas ?

    #2295862
    ferman
    Modérateur
    Maître WordPress
    7122 contributions

    Bonjour,

    J’ai cherché à appliquer la fonction wpdb à votre table, ce que je n’avais jamais fait. Il a fallu un peu chercher. Essayez: si je n’ai pas fait d’erreur en copiant/collant ça doit fonctionner correctement. J’ai aussi mis un peu de CSS montrant la méthode pour sélectionner les différents tr, td. J’espère que ça fonctionnera chez vous (j’utilise functions.php et non un plugin mais ça ne devrait rien changer)

    function bilan_produit_(){

    global $wpdb;
    $products = $wpdb->get_results($wpdb->prepare("SELECT id, post_name,stock_quantity FROM $wpdb->posts a LEFT JOIN $wpdb->wc_product_meta_lookup b ON a.ID=b.product_id WHERE post_type = 'product' ORDER BY id DESC"));
    ?>

    <table class="shop_table">
    <thead>
    <tr>
    <th scope="col">id</th>
    <th scope="col">nom</th>
    <th scope="col">stock</th>
    </tr>
    </thead>

    <?php foreach ($products as $product) { ?>

    <tbody>
    <tr>
    <td><center><?php echo $product->id; ?></center></td>
    <td><center><?php echo $product->post_name; ?></center></td>
    <td><center><?php echo $product->stock_quantity; ?></center></td>
    </tr>
    </tbody>
    <?php } ?>
    </table>
    <?php
    return;}

    add_shortcode ('votre_shortcode', 'bilan_produit');

    tbody:nth-child(even) tr td:nth-child(2){color:red;}
    tbody td:nth-child(1) {background-color:yellow;}
    tbody td {background-color:pink;}
    thead{border-style:solid;}
    tbody{border-style:solid;}

    #2295888
    ferman
    Modérateur
    Maître WordPress
    7122 contributions

    Précision: Pour la vitesse de chargement de la page, il est nettement mieux d’utiliser la version « if(is_page(votre_page)) » plutôt que le shortcode.

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.