如何在WordPress上使用第一张帖子图片作为缩略图

时间:2015-08-01 作者:S omosko

如何设置缩略图以使用帖子上的第一幅图像?大多数时候,我使用bbcode([img])在我的帖子上放置图像,我希望它们也能被使用,

尝试了这么多建议,但没有一个能满足我的需要,

下面是一些尝试过的代码。

<?php if ( has_post_thumbnail() ) {
  the_post_thumbnail();
} else { ?>
  <img src="<?php bloginfo(\'template_directory\'); ?>/images/default-image.jpg" alt="<?php the_title(); ?>" />
<?php } ?>
我尝试在我的函数中添加这个。php

//function to call first uploaded image in functions file
function main_image() {
$files = get_children(\'post_parent=\'.get_the_ID().\'&post_type=attachment
&post_mime_type=image&order=desc\');
if($files) :
  $keys = array_reverse(array_keys($files));
  $j=0;
  $num = $keys[$j];
  $image=wp_get_attachment_image($num, \'large\', true);
  $imagepieces = explode(\'"\', $image);
  $imagepath = $imagepieces[1];
  $main=wp_get_attachment_url($num);
    $template=get_template_directory();
    $the_title=get_the_title();
    print "<img src=\'$main\' alt=\'$the_title\' class=\'frame\' />";
  endif;
}

1 个回复
SO网友:Robert hue

您可以在函数中尝试此函数。php文件。

// automatically retrieve the first image from posts
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 fallback imaage
        $first_img = get_template_directory_uri() . "/images/default.jpg";
    }
    $first_img = \'<img src="\' . $first_img . \'" alt="Post Image" />\';
    return $first_img;
}
此函数用于搜索内容中的第一个图像标记并返回它。然后在你的主题中,你可以这样称呼图像。

<?php
    if ( get_the_post_thumbnail( $post_id ) != \'\' ) {
        the_post_thumbnail();
    } else {
        echo get_first_image();
    }
?>

结束

相关推荐