WordPress 中每篇文章中的图片

发布于 2024-08-27 16:13:22 字数 208 浏览 8 评论 0原文

如果您访问此网站,您将看到每个帖子都有一个图像和摘要。实施该方法的正确方法是什么?

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

If you visit this site, you will see that there is an image and summary for each post. What is the proper way to implement that?

Is this done using WordPress custom fields? Or whether this is coded in image.php file present in theme folder? How do I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

慕巷 2024-09-03 16:13:22

有一个更好的方法 - 你也可以使用这个函数 -

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”中给出的图像“(帖子/页面中的自定义字段)。

There is a better way - you can also use this function too -

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;
}

if you insert this function to your functions.php of your theme you can insert

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

in your single.php and index.php

This function will catch the first image in ever post and will display it, if no one is available - it will use one Default image which you can change...

Or another way:

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

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

If you put this in your index.php or single.php it will use the image given in field "postimage" (customfield in posts/pages).

梦里泪两行 2024-09-03 16:13:22

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

Most likely by a custom field which takes an image source. Then the post template would be changed to see if an image is set and, if it is, include it.

债姬 2024-09-03 16:13:22

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

catswhocode 博客不再像描述的那样,因此此建议可能不完全适合,但我认为值得一提的是,WordPress 现在明确支持“发布缩略图”。有关更多信息,请参阅此处: http://codex.wordpress.org/Post_Thumbnails

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

Adding an additional answer for people who find this via Google, as the original answers imply that a lot of hand-coding is needed.

The catswhocode blog no longer looks like described, so this advice may not fit exactly, but I thought it worth mentioning that WordPress now supports "Post Thumbnails" explicitly. For more information, see here: http://codex.wordpress.org/Post_Thumbnails

As for the article only being a summary on the front page, one way to achieve this is by replacing a call to the_content(~~~) (e.g. in content.php) with one to the_excerpt(). For more on excerpts, see http://codex.wordpress.org/Excerpt

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文