仅从wordpress帖子获取图像

时间:2013-07-26 19:42:16

标签: image wordpress post tags categories

在wordpress中,当点击帖子类别(或标签)时,由于<?php the_content(); ?>

,系统会返回与所点击的类别(或标签)匹配的所有帖子

在我的情况下,每个帖子都有一个图像,所以我怎样才能在点击类别(或标签)时获取图像?我不熟悉我需要使用的代码。

更新:我正在尝试不使用插件。对于之前没有提及的我表示歉意。我想要实现的是The Sartorialist - 所有帖子都有图像,点击与任何帖子相关联的任何类别(或标签),只提取图像。

更新2:我试过了:

 <?php   

 $args = array(
   'post_type' => 'attachment',
   'numberposts' => -1,
   'post_status' => null,
   'post_parent' => $post->ID
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo '<li>';
           echo wp_get_attachment_image( $attachment->ID, 'full' );
           echo '</li>';
          }
     }

 ?>

唯一奇怪的是,而且我想弄明白,媒体库中的另一张图片也会显示出来,而不会出现在我的任何帖子中。

我还发现this plugin与我想要的非常接近,但遗憾的是它必须在一个单独的页面中,而不是在类别页面中。

2 个答案:

答案 0 :(得分:0)

查看此plugin这可能是您要找的内容

答案 1 :(得分:0)

您可以通过以下方式实现此目的:

<?php

function getImage($num) {
global $more;
$more = 1;
$link = get_permalink();
$content = get_the_content();
$count = substr_count($content, '<img');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, '>');
$postOutput = substr($post, 0, $imgEnd+1);
$postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);;
$image[$i] = $postOutput;
$start=$imgEnd+1;
}
if(stristr($image[$num],'<img')) { echo '<a href="'.$link.'">'.$image[$num]."</a>"; }
$more = 0;
}

?>

source