如果您访问this site,您会看到每个帖子都有图片和摘要。实现它的正确方法是什么?
这是使用WordPress自定义字段完成的吗?或者这是否在主题文件夹中的 image.php 文件中编码?我该怎么做?
答案 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