0

我正在修改一个 Wordpress 主题并遇到了一个设计问题,需要我在 single.php 和 index.php 模板上为包装 div 使用不同的 ID。原始 div 的开始标签,存在于 header.php 模板中,如下所示:

<div id="wrap" class="clearfix">

我尝试的修改如下所示:

<div id="<?php if ( is_single() ) { 'single-wrap' } else { 'wrap' } ?>" class="clearfix">

我也试过

<div id="<?php if ( is_single() ) { 'single-wrap' } elseif ( is_front_page() ) { 'wrap' } else { 'wrap' } ?>" class="clearfix">

<div id="<?php if ( is_single() ) { 'single-wrap' } elseif ( is_home() ) { 'wrap' } else { 'wrap' } ?>" class="clearfix">

这些解决方案都没有成功。事实上,每个人都完全破坏了主题,返回一个 500(内部服务器错误),指定了一个意想不到的条件,(我假设,我在 ID 属性中放入的 php if 语句),而服务器试图满足请求.

现在,我以前制作过简单的 Wordpress 主题,因此我了解了主题层次结构的工作原理;我也很擅长 Javascript 和 Python,所以我了解程序逻辑。这是 PHP 的语法问题吗?还是我在这里缺少更深层次的东西?

任何帮助将不胜感激!

(另外,如果有帮助,我要修改的主题是AJ Clarke 的俄罗斯方块。)

我还应该提到,ID“single-wrap”已经在css中定义了。

4

1 回答 1

1

好吧,对于一个人来说,你没有回应 ID!

尝试这个:

<div id="<?php if ( is_single() ) { echo 'single-wrap'; } else { echo 'wrap'; } ?>" class="clearfix">

此外,许多主题会根据页面的类型向 body 元素添加类,例如singlearchivehome。您可以通过简单地使用 CSS 选择器body.single #wrap覆盖任何#wrap需要更改的内容来完成此操作。

于 2013-04-30T20:51:48.273 回答