为自定义发布模板指定多个类别-致命错误

时间:2017-06-09 作者:Gina DiSanto

我正在使用下面的代码为我的函数中的特定类别指定帖子模板。php文件。

function get_custom_cat_template($single_template) {
 global $post;

   if ( in_category( \'ms-conversations\' )) {
      $single_template = dirname( __FILE__ ) . \'/CUSTOM-POST-BLOG-POST.php\';

 }
 return $single_template;

}

add_filter( "single_template", "get_custom_cat_template" ) ; 
代码在技术上是有效的,但是我需要为同一个帖子模板指定大约20个类别。

当我一次又一次地复制和粘贴代码时,我得到了这个致命错误,因为我声明了两次,但我不知道如何包含我需要的所有类别。

Fatal error: Cannot redeclare get_custom_cat_template() (previously declared in /home/content/12/9195112/html/wp-hoff-testing/wp-content/themes/dw-focus/functions.php:152) in /home/content/12/9195112/html/wp-hoff-testing/wp-content/themes/dw-focus/functions.php on line 174
这里是一个列表,列出了我需要的帖子模板的所有类别。

ms对话、月度最佳艺术家、锻炼、多发性硬化徒步旅行、msaa、护理msaa、更新、ms资源、ms提示msaa、月度食谱、激励故事、幸福感、客座博主、ms出版物、视频、多发性硬化网、sharkfest、调查、ms游泳、激励者

当我尝试使用逗号或&;时;如果我遇到更多错误,如何为这段代码声明多个类别?

非常感谢。

2 个回复
最合适的回答,由SO网友:Gina DiSanto 整理而成

这是我的最终代码。

function get_custom_cat_template($single_template) {
 global $post;

   if( in_category( array( \'ms-conversations\', \'artist-of-the-month\', \'exercise\', \'hiking-for-multiple-sclerosis\', \'msaa\', \'caregiving-msaa\', \'updates\', \'ms-resources\', \'ms-tips-msaa\', \'recipe-of-the-month\', \'stories-to-inspire\', \'well-being\', \'guest-bloggers\', \'ms-publications\', \'videos\', \'multiplesclerosis-net\', \'sharkfest\', \'surveys\', \'swim-for-ms\', \'the-motivator\' ) ) ){
      $single_template = dirname( __FILE__ ) . \'/CUSTOM-POST-BLOG-POST.php\';

 }
 return $single_template;

}

add_filter( "single_template", "get_custom_cat_template" ) ; 

SO网友:Milo

您不需要多个函数。使用array 具有in_category 要传递多个段塞:

if( in_category( array( \'ms-conversations\', \'artist-of-the-month\' ) ) ){
    // do something
}

结束

相关推荐

GET_CATEGORIES返回顶级类别而不是子类别

我用下面的代码制作了一个基本的子类别导航菜单。问题出在一个类别上(没有子类别),它将顶级类别作为子类别返回,例如:新闻、未分类等(我尝试分配子类别,但它实际上从菜单中消失,而不是修复内容)这可能是什么原因造成的?function display_category_breadcrumbs () { $current_cat_id = get_cat_id( single_cat_title(\"\",false) ); $parent_cats = get_categ