听起来您需要使用WP\\u Query或类似的工具。
<?php
// First query: get all destinations
$args = array(
\'post_type\' => \'destination\',
\'posts_per_page\' => -1,
\'no_found_rows\' => \'true\' // skips pagination
);
$destinations = new WP_Query($args);
// Now for every destination:
foreach($destinations as $destination) {
// Second query to get tours
$secondargs = array(
\'post_type\' => \'tour\',
\'posts_per_page\' => -1,
\'no_found_rows\' => \'true\', // skip pagination
\'meta_query\' => array(
array(\'key\' => \'yourmetakey\',
\'value\' => "$destination", // only get tours with current destination
\'compare\' => \'=\',
),
),
);
$tours = new WP_Query($secondargs);
// output the name of the destination plus the number of tours
echo $destination->title . \'(\' . count($tours) . \')\';
}
?>
第一个查询获取所有目的地。第二个查询需要进行调整-无论您如何将目的地与旅游相关联,都可以使用Posteta或分类法仅获取每个目的地的旅游。最后,您可能需要自定义html输出-可能是
<ul>
或者类似的东西,可能链接到目的地。