Я создал CPT для «Местоположений», и я использую поле отношения ACF, чтобы перетаскивать соответствующий персонал из моего «CPT» на каждую страницу местоположений.Прямо сейчас я сортирую их по алфавиту, но мой клиент попросил добавить классификацию для каждого человека.Я создал группу полей с радиокнопками, чтобы представить каждую опцию в CPT People.Для простоты каждому человеку присваивается номер от 1 до 5.Мой клиент хотел бы, чтобы сообщения затем упорядочивались следующим образом:
- Группа № 1 в алфавитном порядке
- Группа № 2 в алфавитном порядке
... и так далее и так далее.
Как я могу сортировать, как это?Моя группа переключателей называется «порядок групп».
Вот код, который у меня есть:
<?php
/**
* The Template for displaying single posts.
*/?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
/*
* Query posts for a relationship value.
* This method uses the meta_query LIKE to match the string "123" to the database value a:1:{i:0;s:3:"123";} (serialized array)
*/
$staff = get_posts(array(
'post_type' => 'people',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'location', // name of custom field
'value' => '"' . get_the_ID() . '"', // matches exactly "123", not just 123. This prevents a match for "1234"
'compare' => 'LIKE',
)
)
));
?>
<div class="people-grid">
<?php if( $staff ): ?>
<?php foreach( $staff as $doctor ): ?>
<?php
$photo = get_field('photo', $doctor->ID);
?>
<div class="single-person">
<img src="<?php echo $photo['url']; ?>" alt="<?php echo $photo['alt']; ?>" />
<h3>
<?php echo get_field('first_name', $doctor->ID); ?> <?php echo get_field('middle_initial', $doctor->ID); ?> <?php echo get_field('last_name', $doctor->ID); ?><?php $credentials = get_field('credentials', $doctor->ID);if ($credentials) { ?>, <?php echo get_field('credentials', $doctor->ID); ?>
<?php } ?>
</h3>
<p><?php echo get_field('title', $doctor->ID); ?></p>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php endwhile; // end of the loop. ?>