WordPress tax_query не показывает личные сообщения

Вопрос:

При запросе сообщений со следующим:

$getClientsArgs = array(
'post_type' => 'client',
'showposts' => -1
);
query_posts($getClientsArgs);

Частные сообщения отображаются, если просмотр лица подписан. В противном случае он пропускает эту запись и продолжает показывать любые не-частные сообщения.

Вот как я ожидал, что это сработает.

Но, когда я начинаю использовать tax_query, частные сообщения не отображаются ни тем, кто вошел в систему, ни вышел из системы. Они не возвращаются вообще.

См. Этот пример:

$getClientsArgs = array(
'post_type' => 'client',
'showposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'client_types',
'field'    => 'term_id',
'terms'    => $clientType->term_id
)
)
);

query_posts($getClientsArgs);

РЕДАКТИРОВАТЬ:


Дальнейшая проверка кажется, что, когда это не код выше, вызывающий проблему. См. Комментарий к строке 3. Его код:

<?php
$args = array(
'type'         => 'client',
'hide_empty'   => 0, //Setting this to 1 will cause the issue explained above
'hierarchical' => 1,
'taxonomy'     => 'client_types'
);

$clientTypes = get_categories($args);
?>
<?php foreach ($clientTypes as $clientType): ?>
<h2><?php echo $clientType->name; ?></h2>
<div class="main clearfix">
<ul class="image-list">
<?php
$getClientsArgs = array(
'post_type' => 'client',
'showposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'client_types',
'field'    => 'term_id',
'terms'    => $clientType->term_id
)
)
);

query_posts($getClientsArgs);
?>
<?php while (have_posts()) : the_post(); ?>
<li>
<?php $workLink = get_field('linked_project'); ?>
<a href="<?php echo get_permalink($workLink[0]); ?>">
<img src="<?php the_field('logo'); ?>" />
</a>
</li>
<?php endwhile;
wp_reset_query(); ?>
</ul>
</div>
<?php endforeach; ?>

Ответ №1

Вам нужно указать запрос, чтобы показывать личные сообщения. По умолчанию просматриваются только публичные сообщения.

Попробуй это

$getClientsArgs = array(
'post_type' => 'client',
'post_status' => array('publish', 'private');
'showposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'client_types',
'field'    => 'term_id',
'terms'    => $clientType->term_id
)
)
);

query_posts($getClientsArgs);

Вы также можете добавить любую другую форму сообщения.

Это доступные варианты

publish
pending
draft
auto-draft
future
private
inherit
trash

Оцените статью
TechArks.Ru
Добавить комментарий