1

我看到的所有代码示例都涉及父类别和子猫。但是,我所拥有的是这样的类别(简化):

-Towns
--NY
--Chicago
--LA
-Restaurants
-Theatres
-Stores

现在,我为芝加哥创建了一个页面。我想在上面显示与芝加哥匹配的所有其他项目:

-Restaurants
--restaurant 1
--restaurant 2
--restaurant 3
-Stores
--store 1
--store 2
etc

我该怎么做?在模板中,我想我必须从当前页面的 URL 中获取 slug 并首先查询该类别(芝加哥),然后循环其他类别,但我不完全确定如何。

编辑:我也需要反过来做,按城市分组显示该国的所有餐馆。

4

1 回答 1

0

您可以尝试另一种方法。创建自定义帖子类型:餐馆、商店等。示例:

add_action( 'init', 'create_post_type' );
function create_post_type() {
    register_post_type( 'restaurants',
        array(
            'labels' => array(
                'name' => __( 'Restaurants' ),
                'singular_name' => __( 'Restaurants' )
            ),
        'public' => true,
        'has_archive' => true,
        )
    );
}

然后,您为芝加哥创建一个页面,为餐厅 1、餐厅 2、餐厅 1 类型的餐厅创建条目,并将所有这些条目分配给芝加哥类别。

现在,在芝加哥的模板中,您可以显示分配给芝加哥类别的餐厅类型的所有条目。

//add this after the Loop

query_posts( array(
    'post_type' => 'restaurants',
    'category_name' => 'chicago', //use category slug
    'posts_per_page' => -1,
    'post_status' => 'publish',
) );

// The Loop
while ( have_posts() ) : the_post();
    echo '<li>';
    the_title();
    echo '</li>';
endwhile;

// Reset Query
wp_reset_query();

此外,category_name您可以使用cat参数而不是参数,它采用类别 ID。

于 2012-11-25T14:02:02.130 回答