page single conditional

时间:2015-11-30 作者:designarti

使用下划线,我制作了许多小而简单的自定义主题。我对CSS和简单的布局修改更感兴趣,但我不习惯普通的PHP。我想我需要的是一个简单的代码,但我不能把我的脑袋放在它上面,我已经试了几个小时了。我正在尝试为我的首页设置不同的布局,这是一个静态页面。它只在某些情况下有效。这是我所做的,它有点工作,只是当我尝试使用elseif.

我的内容页。php如下所示:

<?php
/**
 * Template part for displaying page content in page.php.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package mythemename
 */

?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <?php the_title( \'<h1 class="entry-title">\', \'</h1>\' ); ?>
    </header><!-- .entry-header -->

    <div class="entry-content">
        <?php the_content(); ?>
        <?php
            wp_link_pages( array(
                \'before\' => \'<div class="page-links">\' . esc_html__( \'Pages:\', \'phoebelovegood\' ),
                \'after\'  => \'</div>\',
            ) );
        ?>
    </div><!-- .entry-content -->

    <footer class="entry-footer">
        <?php
            edit_post_link(
                sprintf(
                    /* translators: %s: Name of current post */
                    esc_html__( \'Edit %s\', \'phoebelovegood\' ),
                    the_title( \'<span class="screen-reader-text">"\', \'"</span>\', false )
                ),
                \'<span class="edit-link">\',
                \'</span>\'
            );
        ?>
    </footer><!-- .entry-footer -->
</article><!-- #post-## -->
我正在尝试对我的页面ID使用条件:

<?php if(is_page("18")): ?>
<p>This is front page</p>
<?php elseif: ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <?php the_title( \'<h1 class="entry-title">\', \'</h1>\' ); ?>
    </header><!-- .entry-header -->

    <div class="entry-content">
        <?php the_content(); ?>
        <?php
            wp_link_pages( array(
                \'before\' => \'<div class="page-links">\' . esc_html__( \'Pages:\', \'phoebelovegood\' ),
                \'after\'  => \'</div>\',
            ) );
        ?>
    </div><!-- .entry-content -->

    <footer class="entry-footer">
        <?php
            edit_post_link(
                sprintf(
                    /* translators: %s: Name of current post */
                    esc_html__( \'Edit %s\', \'phoebelovegood\' ),
                    the_title( \'<span class="screen-reader-text">"\', \'"</span>\', false )
                ),
                \'<span class="edit-link">\',
                \'</span>\'
            );
        ?>
    </footer><!-- .entry-footer -->
</article><!-- #post-## -->
<?php endif; ?>
相反,我得到了一个空白页。我做错了什么?如果在页中使用,则代码正常工作。例如,当我想在两者之间添加一些东西时,不要使用elseif。

有什么想法吗?提前感谢!

2 个回复
最合适的回答,由SO网友:phatskat 整理而成

您的第一个代码示例不起作用,因为elseif 没有条件。elseif 是的串联elseif:

if ( something ) {

} elseif ( something else ) {

} else {

}

<?php if ( something ): ?>

<?php elseif ( something else ): ?>

<?php else: ?>

<?php endif; ?>
此外,如果您想要一个与其他页面不同的头版,请查看front-page.php 样板

SO网友:designarti

哦,孩子。我确实解决了这个问题,我将在WPSE上回答我的第一个问题。它不应该与elseif一起工作,而应该与其他人一起工作。使用:

<?php if (is_page(\'18\')) { ?>
<p>This is front page</p>
<?php } else { ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <?php the_title( \'<h1 class="entry-title">\', \'</h1>\' ); ?>
    </header><!-- .entry-header -->

    <div class="entry-content">
        <?php the_content(); ?>
        <?php
            wp_link_pages( array(
                \'before\' => \'<div class="page-links">\' . esc_html__( \'Pages:\', \'phoebelovegood\' ),
                \'after\'  => \'</div>\',
            ) );
        ?>
    </div><!-- .entry-content -->

    <footer class="entry-footer">
        <?php
            edit_post_link(
                sprintf(
                    /* translators: %s: Name of current post */
                    esc_html__( \'Edit %s\', \'phoebelovegood\' ),
                    the_title( \'<span class="screen-reader-text">"\', \'"</span>\', false )
                ),
                \'<span class="edit-link">\',
                \'</span>\'
            );
        ?>
    </footer><!-- .entry-footer -->
</article><!-- #post-## -->
<?php } ?>
不同的方法。。。

相关推荐