次のようなコードがあります。
$args = array(
'posts_per_page' => -1,
'category' => 7,
'orderby' => 'name',
'order' => 'ASC',
'post_type' => 'product'
);
$posts = get_posts($args);var_dump($posts);
これは私が知っている1つの投稿をカテゴリ内に返すはずですが、そうではありません。 'category'引数を省略すると、すべての製品が得られるので、これは通常はうまくいくはずです。カテゴリを1に変更してカスタム投稿タイプ(商品)を削除すると、デフォルトの投稿が表示されます。
何が悪いのかわかりません。誰もが問題が何であるかを見つけることができますか?
たぶん、あなたはカスタム分類法を使っていて、組み込みのcategory
分類法を使っているのではありません。この場合、カテゴリパラメータは機能しません。特定の用語からの投稿をクエリするには tax_query
が必要です。 (get_posts
はWP_Query
を使用するので、WP_Query
からget_posts
に任意のパラメーターを渡すことができます)
$args = [
'post_type' => 'product',
'tax_query' => [
[
'taxonomy' => 'my_custom_taxonomy',
'terms' => 7,
'include_children' => false // Remove if you need posts from term 7 child terms
],
],
// Rest of your arguments
];
<ul>
<?php
$args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 1 );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach;
wp_reset_postdata();?>
</ul>
5月 これは - あなたを助ける。
ありがとう