2013-11-08 5 views
0

Этот код отображается на каждой странице содержимого идентификатора страницы 2. Как отредактировать этот код, чтобы отображать контент только на главной странице?Как показывать это только на домашней странице Wordpress?

<?php 
$recent = new WP_Query("page_id=2"); 
while ($recent->have_posts()): 
    $recent->the_post(); 
?> 
<h1><?php the_title();?></h1> 
<?php endwhile; ?> 
+0

не могли бы вы объяснить немного больше того, что вы пытаетесь сделать? – ilhnctn

+0

http://codex.wordpress.org/Function_Reference/is_home – ViliusL

ответ

0

вы можете использовать, как это:

<?php 
if(is_home()){ 
    $recent = new WP_Query("page_id=2"); 
    while($recent->have_posts()) : $recent->the_post(); ?> 
      <h1><?php the_title(); ?></h1> 
    <?php endwhile; ?> 
    <?php } else{ 

    while(have_posts()) : the_post(); ?> 
      <h1><?php the_title(); ?></h1> 
    <?php endwhile; 
    }?> 
0

Попробуйте

<?php 
$home_page_post_id = 2; 
$home_page_post = get_post($home_page_post_id, ARRAY_A); 
$content_home = $home_page_post['post_content']; 
echo $content_home; 
?> 

Посмотрите на функции get_post для получения более подробной информации о том, как это работает: http://codex.wordpress.org/Function_Reference/get_post

1

Как домашняя страница также может быть статичной главной страницей, в этом случае is_home() терпит неудачу, поэтому ..

Следует использовать комбинацию is_home() и is_front_page().

<?php 
if(is_home() || is_front_page()){ 
    $recent = new WP_Query("page_id=2"); 
    while($recent->have_posts()) : $recent->the_post(); ?> 
      <h1><?php the_title(); ?></h1> 
    <?php endwhile; ?> 
    <?php } else{ 

    while(have_posts()) : the_post(); ?> 
      <h1><?php the_title(); ?></h1> 
    <?php endwhile; 
    }?> 
Смежные вопросы