1

これについて私が見たすべてのコードサンプルには、親カテゴリと子猫が含まれています。しかし、私が持っているのはそのようなカテゴリです(簡略化):

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

これで、シカゴのページを作成しました。その上に、シカゴに一致する他のすべてのアイテムを表示したいと思います。

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

どうすればいいですか?テンプレートでは、現在のページのURLからスラッグを取得し、最初にそのカテゴリ(シカゴ)をクエリしてから、他のカテゴリをループする必要があると思いますが、その方法は完全にはわかりません。

編集:私も逆にそれをする必要があります、都市によってグループ化された国のすべてのレストランを表示します。

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();

また、パラメータの代わりに、カテゴリIDを取得するパラメータcategory_nameを使用できます。cat

于 2012-11-25T14:02:02.130 に答える