2

所属するカテゴリに基づいて異なるテーマを表示することはできますか?

例えば:

blog.example.com/category/foo -> style1.
blog.example.com/category/bar -> style2.

グーグル検索はこのページをもたらしました、そして彼はsingle.phpでこれをすることを勧めます:

$post = $wp_query->post;
if ( in_category(5) ) {
    include(TEMPLATEPATH . '/style1.php');
} else {
    include(TEMPLATEPATH . '/style2.php');
}

これは行く方法ですか?

4

1 に答える 1

2

あなたは本当にこれを使うべきではありませんinclude。Wordpress は、get_template_partまさにこのような状況に対応する素晴らしい機能を備えています。組み込みのフォールバック メカニズムがあり、テーマとうまく統合されます。

$categories = get_the_category();

get_template_part('for-category', $categories[0]->slug);

次に、カテゴリのスラッグを使用してファイルに名前を付けます。

blog.example.com/category/foo -> for-category-foo.php
blog.example.com/category/bar -> for-category-bar.php

for-category.php現在のカテゴリのカスタム ファイルがない場合にフォールバックできるように、既定のファイルも忘れずに用意してください。

于 2013-01-17T19:50:08.553 に答える