2017-08-14 25 views
0

下午好,有這樣的任務。有兩個類別,只有這兩個類別的帖子應該使用一個帖子模板。現在我使用此代碼,但它不適合,我必須爲每個類別創建一個單獨的模板。 (你需要有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 –

回答

0

此功能與下面的變化一起工作。

我假設你已經定義了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

謝謝,它的工作! –

相關問題