1
私はカスタムクエリで少し悩んでいます。タクソノミを持つWordpressクエリのXの値が他のクエリよりも小さい場合
基本的に私は、関連する "企業"(最大3人)の投稿を取得するクエリを持っています。クエリに3がない場合は、別のクエリを使用してスペースを埋めます(最大3)。私はそれがそれがすると思われることをすることを得ることができないようです。現在6を示している???どこが間違っているのか分かりません!誰もが正しい方向に私を指すことができれば
$taxonomy = 'company';
// Get the post company
$terms = wp_get_post_terms($the_post_id, $taxonomy);
$term_name = $terms[0]->name;
// Query for the related posts based on the company
$taxonomy_query = new WP_Query(array(
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'name',
'terms' => $term_name,
),
),
'post_type'=> 'post',
'post__not_in' => array($the_post_id),
'posts_per_page' => 3
));
// Query for the non-related posts (use to fill the empty spaces)
$query = new WP_Query(array(
'category_name' => $cat_name,
'post_type'=> 'post',
'post__not_in' => array($the_post_id),
'posts_per_page' => 3
));
私はその後、事前に言っquerys
<div class="l-row">
<?php $count = 0; ?>
<?php if ($taxonomy_query->have_posts()) : ?>
<?php while ($taxonomy_query->have_posts()) : $taxonomy_query->the_post(); ?>
<?php $related_posts = get_post(); ?>
<?php $count++; ?>
<div class="l-col-sm-4">
<?php _module('tile', array(
'post' => $related_posts,
'image' => true,
'excerpt' => false
)); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
// New query to fill if the above query doesn't add up to 3
<?php if ($query->have_posts()) : ?>
<?php while ($query->have_posts()) : $query->the_post(); ?>
<?php $related_posts = get_post(); ?>
<?php $count++; ?>
<div class="l-col-sm-4">
<?php _module('tile', array(
'post' => $related_posts,
'image' => true,
'excerpt' => false
)); ?>
</div>
<?php if($count == 3) {
break;
} ?>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
</div>
感謝の出力を持っています!