web-dev-qa-db-fra.com

Comment puis-je m'assurer qu'un morceau de code dur n'est appelé que lorsque je suis sur la page de blog désignée?

J'ai placé la boucle de blog suivante dans mon fichier 'index.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;
    ?>

Sur ma page d'accueil, le code ci-dessus n'appelle aucune publication de blog, car j'ai nommé une page "Blog" pour mes blogs. Cela dit, la <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> ci-dessus apparaît sur ma page d'accueil ainsi que sur d'autres pages. Je me rends compte que c'est parce que je l'ai durement codé dans mon index.php mais comment puis-je l'enlever? Si je le supprime simplement de mon code, il n'apparaît pas sur la page de mon blog désignée.

Aucune suggestion?

1
Craig

J'ai réussi à résoudre le problème. Le code que j'ai utilisé, si quelqu'un se trouvait dans une situation similaire, est le suivant:

<?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; ?>
0
Craig

que diriez-vous de l’entourer dans l’instruction if is_home () pour qu’elle apparaisse uniquement sur la page de votre blog?

<?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;
?>
2
rudtek