@redesupar

Как сделать вывод записей произвольного типа записей по категории?

Суть вопроса такова, есть тип записей products, сделал таксономию категории и добавил к таксономии checkbox "vibor"
"Выводить на странице X"? где сделала один выбор yes : да.
И вот хочу выводить определенные категории и товары внутри этой категории если стоит эта галочка на чекбоксе в самой категории?
Как сделать правильный запрос? вообще в ступор зашел
Пытался делать так

<?php 
//НАЧАЛО СПИСКА
 

$arg_cat = array(
    'orderby'      => 'name',
    'order'        => 'ASC',
    'hide_empty'   => 1,
  	'meta_key'   => 'vyvodit_na_strai',
	'meta_value' => 'yes',
);
		
$categories = get_taxonomies( $arg_cat );
 
if( $categories ){
    foreach( $categories as $cat ){
        $arg_posts =  array(
			    'post_type' => 'product',
                'posts_per_page' => 3,
				'tax_query' => array(
	array(
			'taxonomy' => 'product-cat',
			'field' => 'term_id',
			'terms' => array( $cat->cat_ID )
		)
	)
	
          
            );
    $query = new WP_Query($arg_posts);
 
if ($query->have_posts() ) : ?>
<a href="<?php echo get_category_link( $cat->term_id ); ?>"><h2><?php echo $cat->name; ?></h2></a>
 
<ul>
    <?php while ( $query->have_posts() ) : $query->the_post();  ?>
    <li>
        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><h3><?php the_title(); ?></h3></a>
    </li>
<?php endwhile; wp_reset_postdata(); ?>
</ul>         
<?php endif; 
 }  } 
 
// КОНЕЦ 
?>


UPD
Сначала вывел по разделенным таксономиям
<?php
             $terms = get_terms( 'product-cat', array(
    'orderby'    => 'name',
    'hide_empty' => 1
 ) );
            
// теперь выполняется запрос для каждого семейства животных
foreach( $terms as $term ) {
 
    // Определение запроса
    $args = array(
        'post_type' => 'product',
        'product-cat' => $term->slug
    );
    $query = new WP_Query( $args );
             
    // вывод названий записей в тегах заголовков
     echo'<h2>' . $term->name . '</h2>';
     
    // вывод списком заголовков записей
    echo '<ul>';
     
        // Начало цикла
        while ( $query->have_posts() ) : $query->the_post(); ?>
 
        <li class="animal-listing" id="post-<?php the_ID(); ?>">
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
         
        <?php endwhile;
     
    echo '</ul>';
     
    // используем сброс данных записи, чтобы восстановить оригинальный запрос
    wp_reset_postdata();
 
} ?>

вывелось прекрасно, но вот когда добавляю пользовательское поле(через ACF) то невыводит

$terms = get_terms( 'product-cat', array(
        'orderby'    => 'name',
        'hide_empty' => 1,
'meta_key'   => 'vyvodit_na_strai',
    'meta_value' => 'yes'
     ) );
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы