web-dev-qa-db-fra.com

WP E-commerce: vente de 3 produits choisis au hasard dans la catégorie actuelle lors de la visualisation d'un produit

Il s’agit plus d’une question sur les balises modèles que sur une question de programmation, mais comme le wiki et le forum de WPEC sont inutiles, j’ai dû essayer ici.

En utilisant des codes courts, vous pouvez facilement inclure un nombre donné de produits d'une catégorie donnée dans un message ou une page.

Mais comment puis-je atteindre les objectifs suivants:

Dans la partie inférieure du modèle de vue de produit unique, j'aimerais afficher trois produits choisis au hasard dans la même catégorie que le produit en cours de visualisation.

PS: Je connais les plug-ins de produit liés existants, mais ils ont du mal avec les nouvelles variantes de produit dans WPEC. C'est pourquoi je préfère utiliser la liste de catégories standard incluse dans WPEC.

Merci d'avance pour toutes sortes d'aide!

4
Eirik

Essayez ceci dans votre modèle wpsc-single_product.php. Il vous donnera une liste avec titre et lien. Je n'ai pas testé cela avec des variantes de produit, je ne les utilise pas sur le site avec lequel je travaille et je ne suis pas sûr de votre question si vous en aviez besoin. Espérons que cela vous donne au moins une place de départ.

<?php 
// get the product categories
$product_categories = wp_get_object_terms( wpsc_the_product_id(), 'wpsc_product_category', array('fields' => 'ids') );
// arguments
$args = array(
'post_type' => 'wpsc-product',
'post_status' => 'publish',
'posts_per_page' => 3,
'orderby' => 'Rand',
'tax_query' => array(
    array(
        'taxonomy' => 'wpsc_product_category',
        'field' => 'id',
        'terms' => $product_categories
    )
)
);
$related_products = new WP_Query( $args );
// loop over query
if ($related_products->have_posts()) :
echo '<ul>';
while ( $related_products->have_posts() ) : $related_products->the_post();
?>
    <li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
echo '</ul>';
endif;
// Reset Post Data
wp_reset_postdata();
?>
3
djrmom

Vous pouvez obtenir la catégorie actuelle par:

<?php get_the_category( $id ) ?> - Ici, id est l'identifiant de votre message actuel.

Après utilisation Random Post from Category plugin

Et donnez-lui l'id de la catégorie actuelle.

Et ici, vous obtiendrez tous les produits de la catégorie de produits actuelle.

1
Rikesh