Using custom post template

时间:2011-05-12 作者:Sledge81

我正在尝试为特定类别下归档的所有帖子实现一个自定义帖子模板。

我在利用WP-O-Matic plugin 这使得RSS feeds in this category 并且想对这一特定类别下的帖子进行一些定制。

我在这里找到了以下代码:http://www.nathanrice.net/blog/wordpress-single-post-templates/

但当我把它添加到我的函数中时。php我收到一个警告:

分析错误:语法错误,意外的T\\u LNUMBER,在public\\u html/wp content/themes/mytheme/functions中需要T\\u字符串或T\\u变量或{或$\'。php(16):运行时在第1行创建函数

add_filter( 
    \'single_template\', 
    create_function(
            \'$t\', 
            \'foreach( (array) get_the_category() as $cat ) 
            { 
                    if ( file_exists(TEMPLATEPATH . "/single-{$cat->1176}.php") ) 
                            return TEMPLATEPATH . "/single-{$cat->1176}.php"; 
            } 
            return $t;\' 
    )
);
你知道怎么解决这个问题吗。

P、 S:我试着用一种不同的方法来制作单曲。php作为门口页面来运行WP查询。如果类别id匹配,则呈现自定义模板。php else默认模板。php

如上所述here.

但我仍然得到以下错误:

分析错误:语法错误,意外的T\\u LNUMBER,在public\\u html/wp content/themes/mytheme/functions中需要T\\u字符串或T\\u变量或{或$\'。php(16):运行时在第1行创建函数

警告:call\\u user\\u func\\u array()[函数.call user func array]:第一个参数应该是有效的回调,“”在/public\\html/wp includes/plugin中给出。php第166行

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

$cat->1176 不能是对象的属性。

PHP Manual:

有效的变量名以字母或下划线开头,后跟任意数量的字母、数字或下划线。作为正则表达式,它可以这样表示:“[a-zA-Z\\ux7f-\\xff][a-zA-Z0-9\\ux7f-\\xff]*”

使用$cat->term_id 并将其值与您想要的数字进行比较。

还有…don’t use anonymous functions. 它们不能被APC这样的操作码缓存缓存,而且很难调试——正如您所看到的。另外,如果有人想删除子主题中的此过滤器,这现在非常非常困难。

结束