PHP If,Elseif,Wordpress Header中的Else语句

时间:2013-12-18 09:23:32

标签: php wordpress

我的页面顶部有一个H2和一个表单,它存在于任何页面上,位于主题模板的header.php中,但我需要在2个特定页面上更改内容。目前的代码是:

<h2 id="formhead">Buy, Hire or Enquire</h2>
<?php echo do_shortcode( '[gravityform id="1" name="Contact Form" title="false" description="false"]' ); ?>

我尝试将其更改为if,elseif,else语句:

<?php
if (is_page('54')) {
<h2 id="formhead">Hire or Enquire</h2>
echo do_shortcode( '[gravityform id="3" name="Contact Form" title="false" description="false"]' );
} elseif (is_page('52')) {
<h2 id="formhead">Buy or Enquire</h2>
echo do_shortcode( '[gravityform id="2" name="Contact Form" title="false" description="false"]' );
} else {
<h2 id="formhead">Buy, Hire or Enquire</h2>
echo do_shortcode( '[gravityform id="1" name="Contact Form" title="false" description="false"]' );
}
?>

然而,这会完全打破网站,没有任何负载。我没有真正的PHP实验(我确信代码中只有一个非常基本的错误),只有我通过反复试验得出的结果,但是由于这是在一个实时网站上进行的,我买不起不断打破网站。

提前致谢
威廉

4 个答案:

答案 0 :(得分:2)

你必须打开和关闭php标签:

<?php
if (is_page('54')) { ?>
<h2 id="formhead">Hire or Enquire</h2>
<?php echo do_shortcode( '[gravityform id="3" name="Contact Form" title="false" description="false"]' );
} elseif (is_page('52')) { ?>
<h2 id="formhead">Buy or Enquire</h2>
<?php echo do_shortcode( '[gravityform id="2" name="Contact Form" title="false" description="false"]' );
} else { ?>
<h2 id="formhead">Buy, Hire or Enquire</h2> <?php
echo do_shortcode( '[gravityform id="1" name="Contact Form" title="false" description="false"]' );
}
?>

答案 1 :(得分:2)

你在php之间使用html。因此,要么使用打开和关闭php <?php... ?>,要么使用单个html行,那么您可以使用echo,如下所示

<?php
if (is_page('54')) {
    echo '<h2 id="formhead">Hire or Enquire</h2>';
    echo do_shortcode('[gravityform id="3" name="Contact Form" title="false" description="false"]');
} elseif (is_page('52')) {
    echo '<h2 id="formhead">Buy or Enquire</h2>';
    echo do_shortcode('[gravityform id="2" name="Contact Form" title="false" description="false"]');
} else {
    echo '<h2 id="formhead">Buy, Hire or Enquire</h2>';
    echo do_shortcode('[gravityform id="1" name="Contact Form" title="false" description="false"]');
}
?>

答案 2 :(得分:2)

其他答案是正确的,但是当你混合PHP和HTML时我可以使用另一种语法(我更喜欢它,因为我发现它更具可读性):

<?php if (is_page('54')): ?>
    <h2 id="formhead">Hire or Enquire</h2>
    <?php echo do_shortcode('[gravityform id="3" name="Contact Form" title="false" description="false"]'); ?>
<?php elseif (is_page('52')): ?>
    <h2 id="formhead">Buy or Enquire</h2>
    <?php echo do_shortcode('[gravityform id="2" name="Contact Form" title="false" description="false"]'); ?>
<?php else: ?>
    <h2 id="formhead">Buy, Hire or Enquire</h2>
    <?php echo do_shortcode('[gravityform id="1" name="Contact Form" title="false" description="false"]'); ?>
<?php endif; ?>

答案 3 :(得分:1)

<?php
if (is_page('54')) {
?>
<h2 id="formhead">Hire or Enquire</h2>
<?php
echo do_shortcode( '[gravityform id="3" name="Contact Form" title="false" description="false"]' );
} elseif (is_page('52')) {
?>
<h2 id="formhead">Buy or Enquire</h2>
<?php
echo do_shortcode( '[gravityform id="2" name="Contact Form" title="false" description="false"]' );
} else {
?>
<h2 id="formhead">Buy, Hire or Enquire</h2>
<?php
echo do_shortcode( '[gravityform id="1" name="Contact Form" title="false" description="false"]' );
}
?>

这可能有用(未经测试)

您没有打开和关闭PHP标签,而且您的括号有点偏离。