web-dev-qa-db-ja.com

WP Eコマース:商品を表示するときに現在のカテゴリから3つのランダム商品を表示

これはプログラミングの質問というよりはテンプレートタグの質問です。しかし、WPECのwikiとforumはまったく役に立たないので、ここでそれを撃ったのです。

ショートコードを使用すると、特定のカテゴリの特定の数の商品を、投稿やページに簡単に含めることができます。

しかし、どのように私は次のことを達成することができます:

単一の商品ビューテンプレートの下部に、表示されている商品と同じカテゴリの3つのランダム商品を表示します。

PS:私は既存の関連製品プラグインを知っていますが、それらはWPECの新しい製品バリエーションに苦しんでいます。そのため、WPECに含まれている標準のカテゴリ一覧を代わりに使用することをお勧めします。

あらゆる種類の助けを事前に感謝します!

4
Eirik

これをwpsc-single_product.phpテンプレートで試してください。タイトルとリンクのリストが表示されます。私はこれを製品バリエーションでテストしませんでした、私が働いているサイトでそれらを使用していません、そして、あなたがそれを必要とするかどうか私はあなたの質問からわかりませんでした。うまくいけば、これは少なくともあなたに出発点を与える。

<?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

あなたは現在のカテゴリーを得ることができます:

<?php get_the_category( $id ) ?> - ここでidはあなたの現在の投稿のIDです。

使用後 Random Post from Category プラグイン

そしてそれに現在のカテゴリIDを渡します。

そしてここであなたは現在の製品カテゴリのすべての製品を手に入れるでしょう。

1
Rikesh