0

我正在使用这段代码:

 if (in_category('finance')) {
      include(TEMPLATEPATH.'/category1.php');
 } elseif (in_category('2')) {
      include(TEMPLATEPATH.'/category2.php');
 } else {
      include(TEMPLATEPATH.'/default.php');
 }

一切正常。当我有名称为财务的类别时,将使用 category1.php 中的模板。

但现在我想包含一个基于选项请求的特定模板文件,如下所示:

 <?php  echo $up_options->category1; ?>

所以我将该选项请求代码插入到第一个代码中,如下所示:

 if (in_category('finance')) {
      include(TEMPLATEPATH.'/$up_options->category1;');
 } elseif (in_category('2')) {
      include(TEMPLATEPATH.'/single2.php');
 } else {
      include(TEMPLATEPATH.'/category1.php');
 }

上面的代码出现以下错误:

 [function.include]: failed to open stream: Invalid argument in.....

非常感谢您的帮助。

谢谢你。

4

2 回答 2

0

$up_options 是一个变量,但您将它用作字符串。尝试这样做:

if (in_category('finance')) {
  include(TEMPLATEPATH . '/' . $up_options->category1);
} 
于 2013-08-22T07:16:37.930 回答
0

当您使用单引号时,您的包含'/$up_options->category1;'将被解析为 a 。string尝试将其更改为双引号 " /$up_options->category1;"

我认为你不需要;最后添加,所以这会更合适

"/$up_options->category1"

@ninja 已经建议了第二个选项-

TEMPLATEPATH . '/' . $up_options->category1

于 2013-08-22T07:23:42.893 回答