Отображение пользовательских типов записей на фронтенде
Я пытаюсь разобраться с пользовательскими типами записей. Моя цель - создать простой список филиалов. В меню "Дилеры" есть выпадающие списки с регионами. При клике на регион нужно отображать список филиалов в этом регионе. Ничего сложного - без карт, просто текст с названием филиала и контактными данными + адресом. Примерно так:
Название филиала
Контактное лицо
Адрес
Контактный номер
Название филиала 2
Контактное лицо 2
Адрес 2
Контактный номер 2
Я использовал плагин Custom Post Type UI и другой плагин для добавления этих данных в админке. Но никак не могу понять, как вывести их на фронтенде.
Мне не нужно, чтобы это вело себя как обычные записи - с общим списком и переходом на страницу для деталей. Нужно просто отображать как в примере выше при клике на регион из выпадающего списка. Есть ли плагин для этого или нужно писать код вручную?

Вы можете легко сделать это следующим образом - просто дублируйте файл single.php
и переименуйте его в single-custom-post-type-name.php
, например single-cars.php
. То же самое относится к архивам или таксономиям: taxonomy-taxonomy-name.php
или archive-taxonomy-name.php
.
Или вы можете создать собственный запрос для случайной страницы, главной страницы или блога:
<?php
// Запрос
$query = new WP_Query(array('post_type' => 'your-custom-post'));
query_posts( $query );
// Цикл
while ( $query->have_posts() ) : $query->the_post();
// ваш контент записи (заголовок, отрывок, миниатюра...)
endwhile;
// Сброс запроса
wp_reset_query();
?>
Удачи! ;)

?php while (have_posts()) : the_post(); ?>
<?php
$args = array('post_type' => 'employee', 'posts_per_page' => 10);
$the_query = new WP_Query($args);
?>
<?php if ($the_query->have_posts()) : ?>
<?php while ($the_query->have_posts()) : $the_query->the_post();?>
<?php endwhile;
wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e('Извините, нет записей, соответствующих вашим критериям.'); ?></p>
<?php endif; ?>
<?php
endwhile;
?>

Попробуйте и удачи
$args = array(
'post_type' => 'your custom post name',
'post_status' => 'publish',
'posts_per_page' => 10,
);
$arr_posts = new WP_Query( $args );
if ( $arr_posts->have_posts() ) :
while ( $arr_posts->have_posts() ) :
$arr_posts->the_post();
echo the_title();
endwhile;endif;
wp_reset_postdata();

Ваш ответ можно улучшить, добавив дополнительную подтверждающую информацию. Пожалуйста, [отредактируйте] его, чтобы добавить больше деталей, таких как цитаты или документация, чтобы другие могли подтвердить правильность вашего ответа. Вы можете найти больше информации о том, как писать хорошие ответы, в справочном центре.
