Wordpress - 为什么在get_sidebar()之后调用the_post_thumbnail()并不会在我的模板上显示任何内容

时间:2014-07-05 21:57:07

标签: php wordpress

我实际上是尝试使用the_post_thumbnail()在内容之前的循环内显示帖子缩略图;功能

在我调用函数

之前,它在我页面的任何位置都像魅力一样
<?php get_sidebar(); ?>

之后无法显示帖子缩略图。 我试过

<?php the_post_thumbnail(); ?>

以及

<?php echo get_the_post_thumbnail(); ?>但没有任何反应。

以下是我的全部代码:

<?php
/**
 * The Template for displaying all single posts
 *
 * @package WordPress
 */

get_header(); ?>


<div id="pageHeader" >
  <div id="pageHeader-inner"> <span class="shadow"></span><img src="<?php bloginfo('template_url'); ?>/images/header_01.jpg" /></div>
</div>

<div class="container" id="pageTitle">
        <h1><?php the_title(); ?></h1>
</div>

<!--Begin of content-->
<div class="grey-bg">
  <div class="container">
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <div class="row">

      <div class="col-sm-3 sidebar">

      <!-- Sub Nav  -->
            <?php if ( is_page() ) { ?>
            <?php
            if($post->post_parent)
            $children = wp_list_pages('title_li=&child_of='.$post->post_parent.'&echo=0'); else
            $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
            if ($children) { ?> 
      <div class="sidebar-module sub-menu">
          <ul>
            <?php echo $children; ?>
          </ul>
       </div>
       <?php } } ?>

<!--Works perfectly till here -->

        <?php get_sidebar(); ?>

<!--Broken till here-->  

      </div>  <!-- /.sidebar --> 

      <div class="col-sm-9">
        <div class="content-main">
        <div class="content white-bg left-stroke <?php echo $post->post_name; ?>">
        <?php if ( has_post_thumbnail() ) the_post_thumbnail(); ?>  
            <?php the_content(); ?>
           <?php endwhile; ?>
            <?php else : ?>
            <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
                <h1><a href="<?php bloginfo('site_url'); ?>">Not Found</a></h1>
            </div>
            <?php endif; ?>
         </div> <!-- /.content --> 
        </div><!-- /.content-main --> 
      </div>

    </div>
    <!-- /.row -->     
  </div>
  <!-- /.container --> 
</div>
<?php get_footer(); ?>

感谢您的回复。

1 个答案:

答案 0 :(得分:2)

您正在尝试在WordPress循环之外使用函数the_post_thumbnail()。要在循环外使用此函数,您必须指定&#34;发布ID&#34;。此功能的文档http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

例如,要获取帖子ID 4的缩略图,您必须使用参数4的函数,如the_post_thumbnail(4)或商店ID作为变量。