(wordpress)显示标题&帖子内容而不是当前页面标题&内容?

时间:2018-05-02 18:29:38

标签: wordpress get posts

我正在尝试将我的帖子加载到#portfolio div中。我想显示标题,内容和缩略图。代码本身似乎有效,但它向我展示了我的“主页”的标题和内容。这是一个单页设计。有没有办法在这个页面上发布帖子?以下是代码的具体部分。

<div id="portfolio">
  <div class="head-title col-md-12">
      <h1 class="h1b">Portfolio</h1>
  </div>
  <?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <div class="col-md-3">
       <?php the_title(); ?>
       <?php the_content(); ?>
       <?php the_post_thumbnail(); ?>
    </div>
    <?php endwhile; ?>
  <?php endif; ?>
</div>

由于能够查看本页的其余代码可能也很有用,我已在下面发布了它。我希望你能帮助我!

<?php /* Template Name: Homepage */ ?>

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/style.css">
</head>
<body>
<div id="navbar">
  <nav>
    <ul>
      <li><a href="#navbar">home</a></li>
      <li><a href="#oversuus">over suus</a></li>
      <li><a href="#portfolio">portfolio</a></li>
      <li><a href="#contact">contact</a></li>
    </ul>
  </nav>
</div>

<div id="header">
  <div id="logo"><img src="<?php bloginfo('template_directory'); ?>/images/logo.svg" /></div>
</div>

<div id="oversuus">
  <div class="head-title col-md-12">
      <h1 class="h1a">Over Suus</h1>
  </div>
  <div class="oversuus-text">
    <?php
    $page_id = 32; //id example
    $page_data = get_page( $page_id );
    $content = apply_filters('the_content', $page_data->post_content);
    $title = $page_data->post_title;
    echo $content;
    ?>
  </div>
  <div class="oversuus-img">

  </div>
</div>

<div id="portfolio">
  <div class="head-title col-md-12">
      <h1 class="h1b">Portfolio</h1>
  </div>
  <?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <div class="col-md-3">
       <?php the_title(); ?>
       <?php the_content(); ?>
       <?php the_post_thumbnail(); ?>
    </div>
    <?php endwhile; ?>
  <?php endif; ?>
</div>

<div id="contact">
  <div class="head-title col-md-12">
      <h1 class="h1c">Contact</h1>
  </div>
  <?php
  $page_id = 34; //id example
  $page_data = get_page( $page_id );
  $content = apply_filters('the_content', $page_data->post_content);
  $title = $page_data->post_title;
  echo $content;
  ?>
</div>

<div id="questions">
  <p>
    x
  </p>
  <div class="mailbt">
    MAIL
  </div>
</div>

<div id="footer">

</div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

虽然我不知道我是否使用过最佳方法,但由于@cabrerahector的建议,我设法解决了我的问题。我可能会看到,这仍然是一个相当的菜鸟,所以我显然没有想到它。只是发布这个,以防有另一个人可以使用它。

  <?php
          $query = new WP_Query( array(
         'post_type' => 'post',
         'orderby' => 'date',
         'order' => 'ASC',
         'posts_per_page' => 4
      ) );

      if( $query->have_posts() ) {
          while( $query->have_posts() ) {
              $query->the_post();
      ?>

          <?php the_title(); ?>
          <?php if(has_post_thumbnail()) {
              $image_src = wp_get_attachment_image_src( get_post_thumbnail_id(),'full' );
               echo '<img src="' . $image_src[0]  . '" width="200px" height="200px"  />';
          } ?>

          <?php

          }
      }
  ?>