目次
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 も同じ |
詳しくはリファレンスをご覧ください。
WordPress Developer Resources
The WordPress Query class.…
まとめ
Welcartの商品は投稿タイプ「post」として扱われるため、カテゴリー分けをして通常の投稿と区別するのがポイントです。