3

所以我设置了我的 wordpress 主题以允许用户上传特色图片,并且我建立了我的索引页面来显示所选页面的特色图片,但也想显示图片的描述。

问题是,我没有使用循环,我使用 wordpress 的设置 API 作为选项来拉取页面 ID。

所以显示特色图像是这样完成的:

<?php $bucket_options = get_option('frontpage_display_options'); ?>
<?php $page_one = $bucket_options['frontpage_bucket_one']; ?>
<?php $page_one = get_post($page_one);  ?>
<?php if (has_post_thumbnail($page_one->ID)) : ?>  
      <?php echo get_the_post_thumbnail($page_one->ID, 'bucket'); ?>  
<?php endif; ?>

我一直在阅读,这将起作用:

echo get_post(get_the_post_thumbnail_id($page_one->ID))->post_content;

或这个:

echo get_post(get_the_post_thumbnail($page_one->ID))->post_content;

但他们都没有显示任何东西

4

2 回答 2

7

该功能正在等待新版本:http ://core.trac.wordpress.org/ticket/12235

但是一个浮动的解决方案是在functions.php中创建一个函数:

function the_post_thumbnail_caption() {
  global $post;

  $thumbnail_id    = get_post_thumbnail_id($post->ID);
  $thumbnail_image = get_posts(array('p' => $thumbnail_id, 'post_type' => 'attachment'));

  if ($thumbnail_image && isset($thumbnail_image[0])) {
    echo '<span>'.$thumbnail_image[0]->post_excerpt.'</span>';
  }
}

然后打电话the_post_thumbnail_caption();

于 2012-08-10T20:20:50.667 回答
0

这对我有用。它与特色图像的标题、说明和描述相呼应。

<?php
if ( has_post_thumbnail() ) :
the_post_thumbnail();
echo '<p>' . get_post(get_post_thumbnail_id())->post_title . '</p>';
echo '<p>' . get_post(get_post_thumbnail_id())->post_excerpt . '</p>';
echo '<p>' . get_post(get_post_thumbnail_id())->post_content . '</p>';
endif;
?>
于 2020-09-15T00:26:43.283 回答