0

サブカテゴリを作成するときに、カテゴリスラッグ名を使用してカテゴリテンプレートを動的に作成するプラグインを作成したいと思います。

カテゴリニュースがあるように。そのために、テンプレート「category-news.php」があります。現在、「最新ニュース」という名前のニュースの下に新しいサブカテゴリを作成しています。そのために、テーマフォルダに「category-latest-news.php」という実用的な名前のファイルを作成し、その中にcategory-news.phpテンプレートコードを配置します。

4

2 に答える 2

0

phpのfopenとfwriteを使用してファイルを作成し、プログラムでファイルの先頭にテンプレート名を挿入できます。

現在のページの親IDを取得するには:

$parents = get_post_ancestors( $post->ID );
$parentsid = $parents[count($parents)-1];

次に、 Wordpressサブカテゴリにカテゴリテンプレートを使用させるのコードを使用できます

function myTemplateSelect() {
    if (is_category() && !is_feed()) {
        if (is_category(get_cat_id('projects')) || cat_is_ancestor_of(get_cat_id('projects'), get_query_var('cat'))) {
            load_template(TEMPLATEPATH . '/category-projects.php');
            exit;
        }
    }
}

add_action('template_redirect', 'myTemplateSelect');
于 2012-05-25T15:06:37.810 に答える
0

テンプレートフィルターを使用する

add_filter( 'template_include', 'template_include', 10 );

テンプレートを次のように変更します

function template_include($template)
{

    if(your condition here){
        $template = get_template_directory().'/your-template.php';
    }

    return $template;
}
于 2012-08-10T11:52:12.267 に答える