WordPressのWelcartで商品のみ、または投稿記事のみをループで出力する方法

Welcartとは

Welcart(ウェルカート)は、日本のウェブサイトやオンラインストアを構築するためのWordPressベースのeコマースプラグインです。

Welcartの商品の投稿タイプは「post」

Welcartの新着商品をループで出力したいと思ったが、Welcartの新着商品の投稿タイプは「post」として扱われる。

通常の投稿と区別されない・・・!

Welcartの商品のみループで出力する方法

Welcartの商品のカテゴリーを「商品」、通常の投稿のカテゴリーを「お知らせ」や「ブログ」にして、ループの時にカテゴリーを除外すれば良い。

カテゴリーの確認方法

管理画面から確認できます。

下記は投稿タイプ「post」から「ブログ」カテゴリー(カテゴリーID7)を除外し12記事を表示する例。

<?php 
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => 12,
        'category__not_in' => 7,
    );
    $the_query = new WP_Query($args);

    if ($the_query->have_posts()) : ?>
        <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>

        <?php endwhile; ?>
    <?php else :
        echo '商品がありません';
    endif;
    wp_reset_postdata();
?>

Welcartの通常の投稿のみをループで出力する方法

下記は投稿タイプ「投稿」から「ブログ」カテゴリー(カテゴリーID7)のみ12記事を表示する例。

<?php
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => 12,
        'cat' => 7,
    );
    $the_query = new WP_Query($args); ?>
    <?php if ($the_query->have_posts()) : ?>
        <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>

        <?php endwhile; ?>
    <?php else :
        echo '商品がありません';
    endif;
    wp_reset_postdata();
?>

WP_Queryのカテゴリー関連のパラメーター

cat 'cat' => 7
'cat' => array ( 3, 7 )
カテゴリーとその子カテゴリーを含む。
category_name 'category_name' => 'blog'
'category_name' => array( 'blog', 'news')
カテゴリースラッグを使用。
category__and 'category__and' => array( 3, 7 ) カテゴリーIDが3かつ7の投稿を表示
category__in 'category__in' => 7
'category__in' => array ( 3, 7 )
子カテゴリーは含まない。
category__not_in 'category__not_in' => 7 カテゴリーを除外。'cat' => -7も同じ

詳しくはリファレンスをご覧ください。

まとめ

Welcartの商品は投稿タイプ「post」として扱われるため、カテゴリー分けをして通常の投稿と区別するのがポイントです。

>お問い合わせはこちら

お問い合わせはこちら