ile daha az varsa, özel bir sorguda biraz sıkışmış durumdayım.Taksonomi ile bir Wordpress sorgusu X başka bir sorgu
Temel olarak, ilgili "şirketler" (en çok 3) gönderi alan bir sorgum var. Sorgu 3'e sahip değilse, boşlukları doldurmak için başka bir sorgu kullanın (3'e kadar). Yapması gerekeni yapmak için onu göremiyorum. Şu anda 6 gösteriliyor ??? Nerede yanlış gittiğime pek emin değilim! Herkes bana doğru yönde işaret edebilir,
$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
));
Sonra önceden bahsedilen sorgularıyla
<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>
sayesinde çıktısını var! İlk sorguda 3 mesajları varsa