#wordpress #advanced-custom-fields #taxonomy
#wordpress #расширенные пользовательские поля #таксономия
Вопрос:
после нескольких безуспешных поисков я задаю свой вопрос здесь. Действительно, я пытаюсь отобразить список сообщений, сгруппированных по категориям:
CAT A
- post1
- post2
- post3
CAT B
- post4
- post5
- post6
- post7 …
Вот код, который я пробовал. Я могу отображать категории, но не сообщения
<?php
$terms = get_terms( 'secteur', array(
'orderby' => 'count',
'hide_empty' => 0
) );
foreach( $terms as $term ) {
$args = array(
'post_type' => 'client',
'posts_per_page' => '-1',
'secteur' => $term->slug
);
$query = new WP_Query( $args );
echo'<h3>' . $term->name . '</h3>';
// Start the Loop
while ( $query->have_posts() ) : $query->the_post();
$secteur_dactivite = get_field( 'secteur_dactivite' );
echo '<div class="cat-'.esc_html( $secteur_dactivite->slug ). '"><img src="'.get_field( 'logo' ).'"></div>';
endwhile;
wp_reset_postdata();
}
?>
Комментарии:
1. Я внедрил этот код для продукта WooCommerce, и, похоже, он работает нормально. Вы проверили, имеют ли
get_field()
они значения или нет? Попробуйте отобразить заголовок в цикле while с помощьюget_the_title()
Ответ №1:
Вам нужно использовать tax_query в качестве атрибута запроса WP вместо secteur.
Попробуйте заменить это на:
$args = array(
'post_type' => 'client',
'posts_per_page' => '-1',
'tax_query' => array(
array(
'taxonomy' => 'secteur',
'field' => 'slug',
'terms' => $term -> slug,
),
),
);
Ответ №2:
большое вам спасибо за ваш ответ. К сожалению, это не меняет отображение. Отображаются заголовки, но не статьи.
<h3>CAT1</h3
<h3>CAT2</h3>
<h3>CAT3</h3>
Если это поможет, я могу отобразить все элементы с помощью следующего кода :
<?php
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'client',
'post_status' => 'publish'
));
if($posts)
{
echo '<div class="row all-item">';
foreach($posts as $post)
{
echo '<div"><a href="'. get_permalink($post->ID) .'"><img src="'.get_field( 'logo' ).'"></a></div>';
}
echo '</div>';
}
?>
Ответ №3:
Большое вам спасибо за ваши ответы. Но у меня ничего не получилось, и я не могу придумать никаких решений. Я думаю, что проблема заключается в конфигурации моей таксономии.
Это моя пользовательская конфигурация типа сообщения (клиент): https://imgur.com/uDom3PH
моя конфигурация таксономии (secteur): https://imgur.com/WRwsSbR
мое пользовательское поле (secteur_dactivite): https://imgur.com/NKQ4GPn
Еще раз спасибо за вашу помощь