如何为将按类别应用的单独帖子模板编写函数? Wordpress

如何为将按类别应用的单独帖子模板编写函数? Wordpress

问题描述:

下午好,有这样的任务。有两个类别,只有这两个类别的帖子应该使用一个帖子模板。现在我使用此代码,但它不适合,我必须为每个类别创建一个单独的模板。 (你需要有1个模板)。如何为将按类别应用的单独帖子模板编写函数? Wordpress

add_filter('single_template', 'check_for_category_single_template'); 
    function check_for_category_single_template($t){ 
     foreach((array) get_the_category() as $cat){ 
      if (file_exists(TEMPLATEPATH . "/single-category-{$cat->slug}.php")) return TEMPLATEPATH . "/single-category-{$cat->slug}.php"; 
      if($cat->parent){ 
       $cat = get_the_category_by_ID($cat->parent); 
       if (file_exists(TEMPLATEPATH . "/single-category-{$cat->slug}.php")) return TEMPLATEPATH . "/single-category-{$cat->slug}.php"; 
      } 
     } 
     return $t; 
    } 
+0

你能提供一个例子。它被描述的方式对我来说有点混乱。 – Juan

+0

我有2个类别。对于来自这些类别的帖子需要制作一个自定义模板。@ juan –

+0

例如,我有3个类别:幻灯片,管道,花花公子。 5个帖子属于幻灯片,管道类别。 5个职位属于兄弟类别。对于帖子类别幻灯片,想要显示自定义模板的管道@juan –

此功能与下面的变化一起工作。

我假设你已经定义了TEMPLATEPATH。

您还需要转到幻灯片和管道类别并获取这两个类别的slu gs。

如果它们与“幻灯片”和“管道”不同,请对其进行以下更改以使其匹配。

创建必须有此名称的模板:单品类slide_or_pipe.php

add_filter('single_template', 'check_for_category_single_template'); 
function check_for_category_single_template($t){ 
     foreach((array) get_the_category() as $cat){ 
      if($cat->slug === 'slides' || $cat->slug === 'pipe'){ 
       if (file_exists(TEMPLATEPATH . "/single-category-slide_or_pipe.php")){ 
        return TEMPLATEPATH . "/single-category-slide_or_pipe.php"; 
       } 
      } 
     } 
     return $t; 
} 
+0

谢谢,我会尽力写信给你 –

+0

谢谢,它的工作! –