PHP conditional script issue

时间:2014-07-10 作者:Dz1

我有两个单独的代码块,如下所示,除非我切断第一个代码块,否则下面的代码块不起作用。你知道问题出在哪里吗?

Conditinal script

<?php { ?>

    <?php

        if ( is_front_page() ) {

        get_template_part(\'home-page-content\');

                    } elseif ( is_page(\'archives\')) {


           get_template_part(\'archives\');

    }
    else

        get_template_part(\'secondary-page-content\');


     ?> 
        <?php } ?>

Second block of script

 <div id="footer">
     <?php echo get_post_meta($post->ID, "biz_code", true); ?> 
        </div>

2 个回复
SO网友:Tom J Nowell

您有很多PHP标记垃圾邮件,例如:

?><?php
这很糟糕,令人困惑,使您的代码难以阅读,并且浪费您的时间来键入。阅读代码的困难导致了您的问题,包括缺少缩进。这些都很重要,任何好的编辑器都会毫不费力地为您完成这些任务。

如果我们删除PHP标记垃圾邮件并正确缩进,我们会得到以下结果:

<?php
{
    if ( is_front_page() ) {
        get_template_part(\'home-page-content\');
    } else if ( is_page(\'archives\') ) {
        get_template_part(\'archives\');
    } else
        get_template_part(\'secondary-page-content\');
}
?>
首先,整件事周围都有一套大括号,没有任何作用(除了可能混淆)。移除这些,为我们提供:

<?php
if ( is_front_page() ) {
    get_template_part(\'home-page-content\');
} else if ( is_page(\'archives\') ) {
    get_template_part(\'archives\');
} else
    get_template_part(\'secondary-page-content\');
?>
最后,我们有编码标准,所以让我们在最后的else语句周围加上括号:

<?php
if ( is_front_page() ) {
    get_template_part(\'home-page-content\');
} else if ( is_page(\'archives\') ) {
    get_template_part(\'archives\');
} else {
    get_template_part(\'secondary-page-content\');
}
?>
我们可以更进一步,这些都是get_template_part, 如果我们只调用该函数一次呢?

<?php
$template = \'secondary-page-content\';
if ( is_front_page() ) {
    $template = \'home-page-content\';
} else if ( is_page(\'archives\') ) {
    $template = \'archives\';
}
get_template_part( $template );
?>
然而,所有这些都意味着您已经用太多的责任重载了一个模板。我建议您查看模板层次结构,这样我们就可以使用frontpage.php 模板删除一半if语句。

SO网友:Shawn

在我看来,这是一个带有随机大括号的PHP错误:

<?php { ?>
<?php } ?>
这应该是:

<?php
..code here..
?>

结束

相关推荐

将自定义创建的PHP页面中的数据插入wp_postmeta表

我正在使用Wordpress网站,并在中创建了自定义页面/home/planmyme/public_html/php/ 使用名称response.php. 在这个页面上,我得到了一个要插入的值wp_postmeta 表(值示例:事务ID、采购ID、订单ID或项目名称),但我无法插入它。我使用下面的代码作为测试。我不知道如何实现这一点,或者是否需要数据库连接来运行查询。$metakey = \"_menu_item_type\"; $metavalue = \"WordPress\' dat