Je m’occupe du site Passion Aquarelle. C’est celui de ma soeur, une artiste dans l’âme, qui expose ses aquarelles, les travaux de ses élèves (oui, elle donne aussi des cours sur la région lyonnaise).
Ce site utilise bien sûr le CMS WordPress et le plugin WP e-Commerce, le premier plugin e-commerce que j’ai testé.
Pour la page d’accueil, j’ai dû créer un shortcode pour afficher ses derniers tableaux, avec une contrainte : ne pas afficher certaines catégories de produits.

Voici comment afficher vos derniers produits WP e-Commerce

Une requête pour aller chercher les produits

$reqProducts = $wpdb->get_results( "
        SELECT post_title, ID, post_date, post_name FROM wp_posts p
        JOIN wp_term_relationships r ON r.object_id = p.ID
        JOIN wp_term_taxonomy t ON r.term_taxonomy_id = t.term_taxonomy_id
        JOIN wp_terms terms ON terms.term_id = t.term_id
        WHERE t.taxonomy = 'wpsc_product_category'
        $exclude_cat
        AND p.post_type = 'wpsc-product' AND p.post_status = 'publish'
        ORDER BY p.post_date DESC
        LIMIT $limit
    ");

$exlude_cat et $limit viennent des paramètres du shortcode.
Par exemple avec [wpscthelastproducts excludecat= »25,28,27″ limit= »3″] les catégories 25, 28 et 27 seront exclues de la requête et n’affichera que les 3 derniers produits.
On fait ensuite une boucle pour afficher cela :
foreach ( $reqProducts as $lastproduct ) {

         /* va chercher la catégorie du produit */
        $prod_ID = wpsc_the_product_id();
        $category = get_the_product_category($lastproduct->ID);
        /* Fin categorie produit */

        $output .= '<div class="latest-products">';

            $output .= '<div class="last-new-prod"><a href="' . wpsc_product_url( $lastproduct->ID, null ) . '" class="last-product-title">'.$titleOfProduct.'</a><br /><i><a href="/galerie/'.$category[0]->slug.'/" class="last-product-title">'.$category[0]->name.'</a></i></div>';
            // Thumbnails, if required
            if ( $image == 1 ) {
                $output .= '<div class="imagecol">';
                $output .= '<a href="' . wpsc_product_url( $lastproduct->ID, null ) . '">';
                $attached_images = (array)get_posts( array(
                    'post_type'   => 'attachment',
                    'numberposts' => 1,
                    'post_status' => null,
                    'post_parent' => $lastproduct->ID,
                    'orderby'     => 'menu_order',
                    'order'       => 'ASC'
                ) );

                $attached_image = $attached_images[0]; 
                if ( $attached_image->ID > 0) {
                    $output .= '<img src="' . wpsc_product_image( $attached_image->ID, $width, $height ) . '" title="' . $lastproduct->post_title . '" alt="' . $lastproduct->post_title . '" />';
                } else {
                    $output .='<img class="no-image" id="product_image_'.wpsc_the_product_id().'" alt="No Image" title="'.wpsc_the_product_title().'" src="'.WPSC_URL.'/wpsc-theme/wpsc-images/noimage.png" width="' . $width . '" height="' . $height . '" />';
                }
                $output .= '</a>';
                $output .= '</div>';
            }
        $output .= "</div>";
    }

On peut aussi traiter le titre si il est trop long :
 /* Traitement du titre */
 $titleProduct = stripslashes( $lastproduct->post_title );
 if( strlen( $titleProduct ) <= 30 ) { 
     $titleOfProduct = $titleProduct; 
 } else {
    $str = mb_substr( $titleProduct, 0, 30 - strlen( '...' ) + 1, 'UTF-8');  
    $titleOfProduct = substr( $str, 0, strrpos( $str,' ') ).'...';
 }

On a plus qu’à mettre notre shortcode là où l’on veut :
<?php do_shortcode('[wpscthelastproducts]'); ?>

Si vous voulez le shortcode en entier le voici en téléchargement ici : 

Afficher vos derniers produits WP e-Commerce 1  Shortcode WP e-Commerce (3,4 KiB, 162 hits)


Et voilà maintenant vous pouvez afficher vos derniers produits WP e-Commerce sur votre boutique.
 

Florent Maillefaud

Afficher vos derniers produits WP e-Commerce 2Webmaster à Sablons (Isère) / Création de sites internet WordPress.

Micro-entrepreneur depuis 2012, je vous propose la création ou la refonte de votre site internet sous WordPress et à votre image.

Que ce soit un site vitrine, un blog ou un site e-commerce pour votre entreprise ou association, laissez votre empreinte sur le web !

Abonnez-vous

Restez en contact avec moi pour recevoir mes derniers articles concernant mon activité ou mes astuces pour WordPress.

Vos données ne seront jamais exploitées par un tiers. Vous avez aussi à chaque instant la possibilité de vous désabonner

leo vulputate, consectetur tempus sed nunc risus non Phasellus facilisis ipsum justo
Share This