Как сделать разные страницы при переходе со связанных между собой кастомных постов?
Поясню детально, прошу ознакомиться!
1) Было создано два кастомных типов записи(недвижимости и городов)
2) При помощи статьи ниже(см. ответ), я связал их между собой так, чтобы при создании записи недвижимости, можно было выбрать город из записей городов
Статья: https://wp-kama.ru/question/kak-uvyazat-posty-iz-dvuh-proizvolnyh-tipov-zapisej |
Статья: https://wp-kama.ru/question/kak-uvyazat-posty-iz-dvuh-proizvolnyh-tipov-zapisej
3) Вывод сделал функцией get_posts. На главной странице выводятся два типа поста
При нажатии на ссылку записи недвижимость, меня перекидывает на страницу одного товара. Использую шаблон single-недвижимость.php
ВОПРОС
Как сделать так, чтобы у городов была такая ссылка, при клике на которую меня переводило на страницу со всей недвижимостью выбранного города? И какой шаблон использовать?
Дополнительно:
Рабочая версия
Написать в single-post-type
$city_id = $post->ID;
$real_estates = get_posts([
'post_type' => 'real_estate',
'post_parent' => $city_id,
'posts_per_page' => -1,
'orderby' => 'post_title',
'order' => 'ASC'
]);
Ответы:
Как сделать так, чтобы у городов была такая ссылка, при клике на которую меня переводило на страницу со всей недвижимостью выбранного города?
Разумеется подкладывать ссылку на нужную рубрику (таксономию)
И какой шаблон использовать?
Архивный.
1) Было создано два кастомных типов записи(недвижимости и городов)
Скорее всего "города" нужно было делать таксономией к недвижимости.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Связь между двумя custom post type не делает “разные страницы перехода” автоматически. Если у вас есть CPT “города” и CPT “недвижимость”, а объект недвижимости связан с городом через поле, WordPress всё равно открывает каждый тип записи по его собственному permalink и собственному single-шаблону.
Правильная архитектура обычно такая:
single-city.php— страница города;single-realty.php— страница объекта недвижимости;Пример выборки объектов на странице города:
$city_id = get_the_ID(); $objects = new WP_Query([ 'post_type' => 'realty', 'posts_per_page' => 12, 'meta_query' => [ [ 'key' => 'city', 'value' => $city_id, 'compare' => '=', ], ], ]);
Если нужно, чтобы URL объекта включал город, например
/moscow/flat-1/, это уже отдельная задача: фильтрpost_type_link, rewrite rules и обработка запроса. Простая связь через ACF или meta этого не делает.Безопаснее оставить URL такими:
/cities/moscow/ /realty/flat-1/
Так меньше риска получить 404, дубли и конфликт slug. Для SEO это нормально, если хлебные крошки и внутренняя перелинковка показывают связь “город → объект”.
Если сейчас после перехода открывается не та страница или 404, проверьте: slug CPT, наличие
single-{post_type}.php, пересохранение permalinks и конфликт страниц с такими же slug.Итог: делайте разные шаблоны для разных CPT и выводите связанные записи запросом. Вложенные URL по связи включайте только если готовы отдельно прописывать rewrite-логику.