Как исключить категорию из шорткода нестандартного запроса?

Я использую изотопы на одном из моего шаблона. Я динамический, используя пользовательский шорткод запроса.

коды приведены ниже.

function saints_shortcode($atts){
extract( shortcode_atts( array(
'category' => ''
), $atts, 'saints' ) );

$q = new WP_Query(
array('posts_per_page' => '-1', 'post_type' => 'saints_list', 'order' => 'ASC')
);

//saint taxanomy query
$args = array(
'post_type' => 'saints_list',
'order' => 'ASC',
'paged' => $paged,
'posts_per_page' => $data['saint_items'],
);

$saint = new WP_Query($args);
if(is_array($saint->posts) && !empty($saint->posts)) {
foreach($saint->posts as $gallery_post) {
$post_taxs = wp_get_post_terms($gallery_post->ID, 'saint_category', array("fields" => "all"));
if(is_array($post_taxs) && !empty($post_taxs)) {
foreach($post_taxs as $post_tax) {
$saint_taxs[$post_tax->slug] = $post_tax->name;
}
}
}
}
if(is_array($saint_taxs) && !empty($saint_taxs) && get_post_meta($post->ID, 'pyre_saint_filters', true) != 'no'):
?>
<div class="remove-ext">
<section id="options">
<div class="option-combo">
<ul id="filter" class="option-set" data-option-key="filter">
<li><a href="#show-all" data-option-value="*" class="selected">show all</a></li>
<?php foreach($saint_taxs as $saint_tax_slug => $saint_tax_name): ?>
<li><a href="#" data-option-value=".<?php echo $saint_tax_slug; ?>"><?php echo $saint_tax_name; ?></a></li>
<?php endforeach; ?>
</ul>
</div>
</section>
<?php endif; ?>

<?php

$list = '
<div class="masonary-product">';
while($q->have_posts()) : $q->the_post();
$idd = get_the_ID();
$saint_subtitle = get_post_meta($idd, 'saint_subtitle', true);
$filterr = get_post_meta($idd, 'filterr', true);
$small_image_url = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'saint-image_small' );

//Get Taxonomy class

$item_classes = '';
$item_cats = get_the_terms($post->ID, 'saint_category');
if($item_cats):
foreach($item_cats as $item_cat) {
$item_classes .= $item_cat->slug . ' ';
}
endif;$list .= '
<div class="col-md-3 '.$item_classes.'">
<div class="member">
<div class="team">
<div class="team-img">
<img src="'.$small_image_url[0].'" alt="" />
</div>
<div class="member-detail">
<h3><a href="'.get_permalink().'" title="">'.get_the_title().'</a></h3>
<p>'.substr(get_the_excerpt(), 0,100).'</p>
</div>
</div>
</div><!-- MEMBER -->
</div>

';
endwhile;
$list.= '</div></div>';
wp_reset_query();
return $list;
}
add_shortcode('saints', 'saints_shortcode');

Работает очень хорошо.

Теперь я хочу исключить такую ​​категорию, как «Исполнительный член». Я пытался исключить, но это не работает. Как я могу исключить любую категорию, которую я хочу.

Любой может помочь мне.

ТИА

0

Решение

Попробуйте с этим кодом.

 $q = new WP_Query(array('posts_per_page' => '-1', 'post_type' => 'saints_list', 'order' => 'ASC','category__not_in' =>'Executive Member'));

$args = array(
'post_type' => 'saints_list',
'order' => 'ASC',
'paged' => $paged,
'posts_per_page' => $data['saint_items'],
'category__not_in' =>'Executive Member',

);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]