使用此功能,我可以通过echo get_the_first_image()从帖子中获取第一张图片:
function get_first_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = "path/to/default/image.jpg";
}
return $first_img;
}
我可以更改此代码,以便从数组或其他合适的内容中获取帖子中的所有图像吗?
答案 0 :(得分:2)
有一段时间我正在寻找同样的事情,下面的代码从帖子中获得附加图像(确保在中使用此代码)
$images =& get_children('post_type=attachment&post_mime_type=image&output=ARRAY_N&orderby=menu_order&order=ASC&post_parent='.$post->ID);
if($images){
foreach($images as $imageID => $imagePost){
print_r($imagePost->guid); // for example the img path
}
}
希望这会有所帮助。它也适用于我自定义帖子类型
答案 1 :(得分:1)
<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
$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 '<p>';
echo apply_filters( 'the_title', $attachment->post_title );
echo '</p></li>';
}
}
endwhile; endif; ?>
</ul>
如果您有任何疑问,请在此处发表评论