我想创建一个插件,当我创建子类别时,它将使用类别slug名称动态创建类别模板。
就像我有一个类别新闻。为此,我有一个模板“category-news.php”。现在我在名为“最新新闻”的新闻下创建一个新的子类别。因此,我想在我的主题文件夹中创建一个实用名为'category-latest-news.php'的文件,并将category-news.php模板代码放入其中。
答案 0 :(得分:0)
您可以使用php的fopen和fwrite创建文件,然后以编程方式在模板顶部插入模板名称。
获取当前页面的父ID:
$parents = get_post_ancestors( $post->ID );
$parentsid = $parents[count($parents)-1];
然后您可以使用Make Wordpress subcategories use Category Template
中的代码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');
答案 1 :(得分: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;
}