WordPress中每个帖子中的图像

时间:2010-04-05 06:47:25

标签: php wordpress blogs

如果您访问this site,您会看到每个帖子都有图片和摘要。实现它的正确方法是什么?

这是使用WordPress自定义字段完成的吗?或者这是否在主题文件夹中的 image.php 文件中编码?我该怎么做?

3 个答案:

答案 0 :(得分:2)

最有可能是采用图像源的自定义字段。然后将更改帖子模板以查看是否设置了图像,如果是,则包括它。

答案 1 :(得分:2)

有一种更好的方法 - 您也可以使用此功能 -

function catch_that_image() {
    global $post, $posts;
        $first_img = '';
        ob_start();
        ob_end_clean();
        $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
        $first_img = preg_replace("/_thumb[0-9]\./", "$1.", $first_img);

    // no image found display default image instead
        if(empty($first_img)){
            $first_img = "/wp-content/default.png";
        }
        return $first_img;
}

如果您将此功能插入主题的functions.php,则可以插入

<img src="<?php echo catch_that_image(); >" width="50" height="50" alt="<?php the_title(); ?>" />

在你的single.php和index.php

此功能将捕获永久发布的第一张图像并显示它,如果没有人可用 - 它将使用一个默认图像,您可以更改...

或另一种方式:

<?php $image = get_post_meta($post->ID, 'postimage', true); ?>

<img src="<?php echo $image; ?>" alt="<?php the_title(); ?>" />

如果你把它放在index.php或single.php中,它将使用“postimage”字段中给出的图像(帖子/页面中的自定义字段)。

我希望这会有所帮助

答案 2 :(得分:1)

为通过Google找到此内容的用户添加其他答案,因为原始答案意味着需要进行大量的手动编码。

catswhocode博客不再像描述的那样,所以这个建议可能不完全适合,但我认为值得一提的是WordPress现在明确地支持“Post Thumbnails”。有关详细信息,请参阅此处:http://codex.wordpress.org/Post_Thumbnails

至于文章只是首页上的摘要,实现此目的的一种方法是将the_content(~~~)(例如在content.php中)的调用替换为the_excerpt()。有关摘录的更多信息,请参阅http://codex.wordpress.org/Excerpt