<?php
// area.php
// WordPressを読み込む
require( dirname( FILE ) . ‘/wp-blog-header.php’ );
get_header();
// パラメータ取得(例: id=gunma)
$area_slug = isset($_GET[‘id’]) ? sanitize_text_field($_GET[‘id’]) : ”;
// スラッグから都道府県名取得(必要なら連想配列などで対応)
$pref_map = [
‘gunma’ => ‘群馬県’,
‘hokkaido’ => ‘北海道’,
// 他の都道府県も追加
];
$pref_name = isset($pref_map[$area_slug]) ? $pref_map[$area_slug] : ”;
if ($pref_name):
echo ‘
‘ . esc_html($pref_name) . ‘のキャンプ場一覧
‘;
// 投稿タイプ: camp(カスタム投稿タイプ)、カスタムフィールド: 都道府県
$args = [
'post_type' => 'camp',
'posts_per_page' => -1,
'meta_query' => [
[
'key' => 'prefecture', // ACFなどで設定した都道府県フィールド
'value' => $pref_name,
'compare' => '='
]
]
];
$query = new WP_Query($args);
if ($query->have_posts()):
echo '<ul>';
while ($query->have_posts()): $query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
endwhile;
echo '</ul>';
else:
echo '<p>キャンプ場情報が見つかりませんでした。</p>';
endif;
wp_reset_postdata();
else:
echo ‘
都道府県が指定されていません。’;
endif;
get_footer();
コメント