我如何确保一段硬代码只在我指定的博客页面上被调用?

时间:2017-03-03 作者:Craig

我已经在我的“索引”中放置了以下博客循环。php文件:

<?php
    if ( have_posts() ):
        while( have_posts() ): the_post(); 
?>
    <h3><?php the_title(); ?></h3> 
    <p><?php the_content(); ?></p>
    <small>This entry was posted on: <?php the_date(\'l, jS F Y\'); ?> at <?php the_time(\'g:i a\'); ?> and is filed under <?php the_category(); ?></small>

    <?php 
            endwhile;
        endif;
    ?>
在我的主页上,上面的代码没有调用任何博客帖子,因为我已经为我的博客指定了一个“博客”页面。也就是说<small>This entry was posted on: <?php the_date(\'l, jS F Y\'); ?> at <?php the_time(\'g:i a\'); ?> and is filed under <?php the_category(); ?></small> 出现在我的主页和其他页面上。我意识到这是因为我把它硬编码到了我的索引中。php,但我如何删除它。如果我只是从代码中删除它,它就不会出现在我指定的博客页面上。

有什么建议吗?

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

我已经设法解决了这个问题。如果有人发现自己处于类似的情况,我使用的代码如下:

<?php if( is_home() ): ?>   
<h1>Blog Page</h1>
<?php endif; ?>

<?php 
if ( have_posts() ): 
while( have_posts() ): the_post();
?>  

    <?php if( is_home() ): ?>   
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 
    <?php the_content();?>
    <small>This entry was posted on: <?php the_date(\'l, jS F Y\'); ?> at <?php the_time(\'g:i a\'); ?> and is filed under <?php the_category(); ?></small>;

    <?php else: ?>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 

    <?php endif; ?>

<?php endwhile; ?>
<?php endif; ?>

SO网友:rudtek

在if is\\u home()语句中围绕它,使它只显示在您的博客页面上,怎么样?

<?php
if ( have_posts() ):
    while( have_posts() ): the_post(); 
?>
<h3><?php the_title(); ?></h3> 
<p><?php the_content(); ?></p>
if ( is_home() ) :?>
    <small>This entry was posted on: <?php the_date(\'l, jS F Y\'); ?> at <?php the_time(\'g:i a\'); ?> and is filed under <?php the_category(); ?></small>
<?php 
endif;
        endwhile;
    endif;
?>

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请