Хотите сузить источник данных на основе пользовательских категорий типов записей в Visual composer (WPBakery)

У меня есть собственный тип постов «Коттеджи», с категориями (1-местная, 2-местная, 3-местная).

Я могу получить элемент для отображения в Visual Composer со следующим vc_map в моем functions.php:

// Cottages List
if(function_exists('vc_map')){
vc_map( array(
"name" => __("My Cottages List", 'archi'),
"base" => "cottageslist",
"class" => "",
"category" => 'My Elements',
"icon" => "icon-rtcvc",
"params" => array(
array(
"type" => "textfield",
"holder" => "div",
"class" => "",
"heading" => "Show how many cottages per page?",
"param_name" => "number",
"value" => "",
"description" => __("Add Number -1 for show all post.", 'archi')
),
)
));
}'

Затем я знаю, что он отображается с помощью следующего php / html-кода (который также поражает строки графического объекта, публикуемого контента … публикуемого контента, графического объекта)

// Cottages List start
add_shortcode('cottageslist','cottageslist_func');
function cottageslist_func($atts, $content = null){
extract(shortcode_atts(array(
'number'    =>      '',
), $atts));
$number1 = (!empty($number) ? $number : 4);
ob_start();
?>

<?php
$i = 0;
$args = array(
'post_type' => 'cottages',
'posts_per_page' => $number1,
);
$cottages = new WP_Query($args);
if($cottages->have_posts()) : while($cottages->have_posts()) : $cottages->the_post(); $i++;
?><section class="side-bg no-padding service-list" id="section-service-<?php echo esc_attr($i); ?>">

<?php if ($i % 2 == 1) { ?>

<div class="image-container col-md-5 pull-left" data-delay="0">
<div class="background-image" style="background-image:url('<?php the_post_thumbnail_url( 'full' ); ?>');"></div>
</div>

<div class="container">
<div class="row">
<div class="inner-padding">
<div data-wow-delay=".5s" class="col-md-6 col-md-offset-6 wow fadeInRight">
<h3 class="id-color"><a class="" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
<div class="spacer-single"></div>
<a class="btn-line" href="<?php the_permalink(); ?>"><?php _e('Read More', 'archi') ?></a>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>

<?php }else{ ?>

<div data-delay="0" class="image-container col-md-5 col-md-offset-7 pull-right right0">
<div class="background-image" style="background-image:url('<?php the_post_thumbnail_url( 'full' ); ?>');"></div>
</div>

<div class="container">
<div class="row">
<div class="inner-padding">
<div data-wow-delay=".5s" class="col-md-6 wow fadeInLeft">
<h3 class="id-color"><a class="" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
<div class="spacer-single"></div>
<a class="btn-line" href="<?php the_permalink(); ?>"><?php _e('Read More', 'archi') ?></a>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
<?php } ?>

</section>

<?php endwhile; wp_reset_postdata(); endif; ?>

<?php
return ob_get_clean();
}
// Cottages List start

Вот где я полностью потерялся!

  • Я хочу иметь возможность в Visual Composer сузить источник данных на основе одной или нескольких категорий (имея в виду, что они являются категориями пользовательских типов записей).
  • Я думаю, что мне понадобится дополнительный код во втором блоке (php / html), чтобы обеспечить отображение только выбранных категорий.

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

И да, я знаю, что элемент VC Post Grid будет очень хорошо фильтроваться, но мне не нравится, как во внешнем интерфейсе блоки Post Grid загружаются только через несколько секунд после полной загрузки остальной части страницы.

Спасибо
JD

1

Решение

Задача ещё не решена.

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

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

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