Wordpress显示自定义帖子类型的所有帖子

时间:2016-03-04 13:20:02

标签: php wordpress

我是wordpress的新手,我制作了一个自定义的帖子类型' projecten'现在我想在我创建的页面上显示此类型的所有帖子。

我制作了一个页面模板,一切都很好,创建了1个帖子。 这就是我的页面模板。

<?php
/**
* Template Name: Projecten Template
*/

$projecten = new WP_Query(array('post_type' => 'project'));
wp_reset_postdata();
?>

<?php while (have_posts()) : the_post(); ?>
 <div class='full parallax' style='background-image: url(images/@stock/portfolio-header-bg.jpg); color: #fff;'>
    <div class='row'>
      <div class='twelve columns'>
        <div class='big mod modSectionHeader'>
          <div class='special-title centered-text'>
            <h2 style='color: #fff'>
              <?php the_title(); ?>
            </h2>
          </div>
          <h3 class='centered-text' style='color: #fff'><?php the_field('field_56d983a5a4788'); ?></h3>
        </div>
      </div>
    </div>
    <div class='four spacing'></div>
  </div>
  <div class='mod modGallery'>
      <?php if ( $projecten->have_posts()): ?>
       <?php while ( $projecten->have_posts()): the_post(): ?>
        <ul class='gallery large-block-grid-4 medium-block-grid-3 small-block-grid-2'>
          <li class='graphic-design'>
            <a href='portfolio-item.html'>
              <img width="400" height="400" alt="" src="" />
              <div class='overlay' >
                <div class='thumb-info'>
                  <h3><?php echo get_the_title(); ?></h3>
                  <p>hey</p>
                </div>
              </div>
            </a>
          </li>
        </ul>
       <?php endwhile; ?>
      <?php endif; ?>
     </div>
    <?php endwhile; ?>

对我来说看起来没问题,但遗憾的是它不能正常工作:(

3 个答案:

答案 0 :(得分:0)

这是对您的代码的编辑,我认为这将对您有所帮助。你错过了&#34; en&#34; &#34; projecten&#34;在查询中。

我还将循环包裹在 li 标签而不是 ul 标签以及其他一些调整中。

<?php
/**
* Template Name: Projecten Template
*/

$projecten = new WP_Query(array('post_type' => 'projecten'));
?>
<div class='full parallax' style='background-image: url(<?php  bloginfo('template_url');?>/stock/portfolio-header-bg.jpg); color: #fff;'>
    <div class='row'>
        <div class='twelve columns'>
            <div class='big mod modSectionHeader'>
                <div class='special-title centered-text'>
                    <h2 style='color: #fff'><?php the_title(); ?></h2>
                </div>
                <h3 class='centered-text' style='color: #fff'><?php the_field('field_56d983a5a4788'); ?></h3>
            </div>
        </div>
    </div>
    <div class='four spacing'></div>
</div>
<div class='mod modGallery'>
    <?php if ( $projecten>have_posts() ) { ?>
    <ul class='gallery large-block-grid-4 medium-block-grid-3 small-block-grid-2'>
        <?php while ( $projecten->have_posts() ) { ?>
        <li class='graphic-design'>
            <a href='portfolio-item.html'>
                <img width="400" height="400" alt="" src="" />
                <div class='overlay' >
                    <div class='thumb-info'>
                        <h3><?php the_title(); ?></h3>
                        <p>hey</p>
                    </div>
                </div>
            </a>
        </li>
        <?php endwhile; ?>
    </ul>
    <?php endif; ?>
    <?php wp_reset_postdata(); ?>
</div>

答案 1 :(得分:0)

删除wp_reset_postdata();它将在关闭循环之后到来。 你忘记了这个

$projecten = new WP_Query(array('post_type' => 'project'));
while ($projecten->have_posts()) : $projecten->the_post(); 

答案 2 :(得分:0)

<?php
/**
* Template Name: Projecten Template
*/

$projecten = new WP_Query(array('post_type' => 'project'));
?>

<?php while (have_posts()) : the_post(); ?>
 <div class='full parallax' style='background-image: url(images/@stock/portfolio-header-bg.jpg); color: #fff;'>
    <div class='row'>
      <div class='twelve columns'>
        <div class='big mod modSectionHeader'>
          <div class='special-title centered-text'>
            <h2 style='color: #fff'>
              <?php the_title(); ?>
            </h2>
          </div>
          <h3 class='centered-text' style='color: #fff'><?php the_field('field_56d983a5a4788'); ?></h3>
        </div>
      </div>
    </div>
    <div class='four spacing'></div>
  </div>
  <div class='mod modGallery'>
      <?php if ( $projecten->have_posts()): ?>
       <?php while ( $projecten->have_posts()): the_post(): ?>
        <ul class='gallery large-block-grid-4 medium-block-grid-3 small-block-grid-2'>
          <li class='graphic-design'>
            <a href='portfolio-item.html'>
              <img width="400" height="400" alt="" src="" />
              <div class='overlay' >
                <div class='thumb-info'>
                  <h3><?php echo get_the_title(); ?></h3>
                  <p>hey</p>
                </div>
              </div>
            </a>
          </li>
        </ul>
       <?php endwhile; ?>
      <?php endif; ?>
     </div>
    <?php endwhile; 
wp_reset_postdata();
?>

通过传递post_id

获取如下的精选图片
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>

将您的单个页面创建为单个.php,您将获得与该特定页面相关的页面中的所有相关内容。

作为参考,您可以查看二十五主题

中的single.php