@xlo240

Как вывести во фронте привязанный посттайп?

имеется два посттайпа
Недвижимость - xlo_nedvizh
Города - xlo_city
Данный код привязывает и отображает в админке на странице конкретного объекта недвижимости города
add_action('add_meta_boxes', function () {
	add_meta_box( 'palyer_team', 'Города', 'player_team_metabox', 'xlo_nedvizh', 'side', 'low'  );
}, 1);
//id html / Заголовок /Функция, кот выв на экр HTML содерж блока/Название экрана для которого добавляется блок/Место где должен показываться блок/Приоритет блока
// метабокс с селектом команд
function player_team_metabox( $post ){
	$cities = get_posts(array( 'post_type'=>'xlo_city', 'posts_per_page'=>-1, 'orderby'=>'post_title', 'order'=>'ASC' ));

	if( $cities ){
		// чтобы портянка пряталась под скролл...
		echo '
		<div style="max-height:200px; overflow-y:auto;">
			<ul>
		';

		foreach( $cities as $city ){
			echo '
			<li><label>
				<input type="radio" name="post_parent" value="'. $city->ID .'" '. checked($city->ID, $post->post_parent, 0) .'> '. esc_html($city->post_title) .'
			</label></li>
			';
		}

		echo '
			</ul>
			
		</div>';

	}
	else
		echo 'Городов нет...';
}

5f63a81dbeb56968208721.png
Какой запрос нужно написать чтобы на фронте, на странице объекта недвижимости вывелся бы город свзаный с данным объектом недвижимости?
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ответы на вопрос 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Я не вижу, чтобы вы сохраняли выбранную опцию в мету поста. Если все таки сохраняете, то через get_post_meta() достаете, что там у вас лежит - slug или id связанного поста

Теперь пишите запрос get_posts() с этими данными и аргументами 'post_type' => 'xlo_city', и 'numberposts' = '1',

А вообще я бы советовал использовать ACF/CF для создания кастомных полей. Это быстрее и удобнее
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы