不必要的分号可能是导致错误的原因。<?php } else { ;?>
应该是<?php } else { ?>
. 尝试以下操作:
<?php if (in_category( array(6,14,15,13) )) { ?>
<div id="eatheader">
<?php } elseif (in_category( array(7,11,12,10,9) )) { ?>
<div id="goheader">
<?php } elseif (in_category( array(4,16,17,18,19) )) { ?>
<div id="playheader">
<?php } elseif (in_category( array(3,22,21,26) )) { ?>
<div id="shopheader">
<?php } elseif (in_category(5)) { ?>
<div id="talkheader">
<?php } else { ?>
<div id="defaultheader">
<?php } ?>
如你所见,我还修改了
<?php } elseif (in_category( array(\'5\') )) { ?>
到
<?php } elseif (in_category(5)) { ?>
因为您只指定了一个类别。
可以将相同的代码重写为以下内容(以防对您更具可读性和可理解性):
<?php
if ( in_category( array( 6,14,15,13 ) ) ) {
echo \'<div id="eatheader">\';
}
elseif ( in_category( array( 7,11,12,10,9 ) ) ) {
echo \'<div id="goheader">\';
}
elseif ( in_category( array( 4,16,17,18,19 ) ) ) {
echo \'<div id="playheader">\';
}
elseif ( in_category( array( 3,22,21,26 ) ) ) {
echo \'<div id="shopheader">\';
}
elseif ( in_category( 5 ) ) {
echo \'<div id="talkheader">\';
}
else {
echo \'<div id="defaultheader">\';
}
?>