我正在修改Wordpress主题并遇到了一个设计问题,需要我在single.php和index.php模板上使用不同的ID作为包装div。存在于header.php模板中的原始div的开始标记如下所示:
<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's Tetris。)
我还应该提一下ID&#34;单包&#34;已在css中定义。
答案 0 :(得分:1)
嗯,对于一个你没有回应ID!
试试这个:
<div id="<?php if ( is_single() ) { echo 'single-wrap'; } else { echo 'wrap'; } ?>" class="clearfix">
此外,许多主题会根据页面的类型向body元素添加类,例如single
,archive
,home
等等。您可以完成此操作只需使用CSS选择器body.single #wrap
来覆盖#wrap
中需要更改的任何内容。