Создание условного оператора в WordPress

У меня есть фрагмент PHP, который я хочу отображать только на моей главной странице WordPress.

Я добился успеха с условными операторами в других частях сайта WordPress, но этот меня сбивает с толку.

Это фрагмент:

    <div id="home-post">
    <h1 id="homePost">Latest News</h1>  

    <?php

    $args = array( 'numberposts' => 1 );
    $lastposts = get_posts( $args );
    foreach($lastposts as $post) : setup_postdata($post); ?>

    <h2><a class="homeLink" href="<?php the_permalink(); ?>"><?php the_title(); ?>:</a></h2>

    <?php the_content(); ?>

    <?php endforeach; ?>

    </div>

Этот код работает отлично, но отображается на ВСЕХ страницах, тогда как я хочу, чтобы он активировался только на странице с идентификатором 102.

Я предполагаю, что условное выражение должно быть примерно таким:

    <?php
    if (is_page ( '102' )) {

    ... snippet here ...

    } ?>

Тем не менее, когда я применяю эту дополнительную PHP-оболочку ко всему фрагменту, это просто разрушает синтаксис фрагмента.

Может ли кто-нибудь посоветовать, пожалуйста? Я не очень хорошо разбираюсь в PHP, поэтому извините, если вопрос немного сбивает с толку, но любая помощь будет принята с благодарностью.

Заранее большое спасибо, Мэтт


person matttickner    schedule 22.03.2013    source источник


Ответы (1)


использовать

<?php if(is_home()) : ?>
<?php
  $args = array( 'numberposts' => 1 );
  $lastposts = get_posts( $args );
  foreach($lastposts as $post) : setup_postdata($post); 
?>

<h2><a class="homeLink" href="<?php the_permalink(); ?>"><?php the_title(); ?>:</a></h2>

<?php the_content(); ?>

<?php endforeach; ?>

</div>
<?php endif; ?>
person Lucky Soni    schedule 22.03.2013
comment
Работает отлично. Большое спасибо Лаки Сони. - person matttickner; 22.03.2013