0

此代码显示在页面 id 2 的每个页面内容上。如何编辑此代码,以仅在主页上显示内容?

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

3 回答 3

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; 
  }?>
于 2013-11-08T11:33:27.543 回答
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

于 2013-11-08T10:46:28.750 回答
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; 
  }?>
于 2013-11-08T10:44:12.193 回答