Images in Blog List

时间:2017-06-22 作者:relin

我只是改变了主题。我的博客页面列表用于显示我在每篇文章中使用的图像(内容图像,而非特色图像)。我使用图像的URL,而不是媒体库。单个帖子页面显示图像,但博客列表页面不会显示图像,除非我将图像添加到媒体库中。是否有任何代码和/或插件可用于确保在我将图像添加到单个帖子的内容时,该图像包含在博客列表页面上?是否有办法填充过去包含图像但不再在列表页上显示图像的帖子?谢谢

1 个回复
SO网友:LWS-Mo

嘿,我得到了从内容中获取第一幅图像的代码,从这个答案中,Get first image in a post 从…起Diana 但是对代码做了一些修改。因此,如果这有帮助,请标记该答案。

将代码插入functions.php 或者创建一个新插件。

function catch_that_image() {

global $post, $posts;
  $first_img = \'\';
  ob_start();
  ob_end_clean();

  // search for <img> elements inside the post content
  $output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches);

  // $matches now contains an multidimensional array with all found <img> objects
  // we go down the multiarray to find your image URL
  $first_img = $matches [1] [0];

  // check if there is an image
  if(empty($first_img)){ 
    // if no image is found in the content, we can add a default one
    // if you dont want to use a default than just use \'\';
    $first_img = \'/images/default.jpg\';
  } else {
    // is an image is found, create some markup and display it
    $first_img = \'<img class="my-custom-post-image" src="\'.$first_img.\'">\';
  }

  return $first_img;
}
您需要修改content.php 主题文件夹中的模板。(请使用子主题!)

在模板文件的顶部,您还将看到,如果您使用了特色图像,则此图像将已经显示!你不必在这里做这些:)

因此,添加一些更改:

<?php
/**
 * The default template for displaying content
 *
 * Used for both single and index/archive/search.
 *
 * @package WordPress
 * @subpackage Twenty_Fifteen
 * @since Twenty Fifteen 1.0
 */
?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php

        // new code starts
        if (!is_singular()) { // dont display in single view, remove if not needed
            echo catch_that_image();
        }
        // new code ends

        // Post thumbnail.
        twentyfifteen_post_thumbnail();
    ?>

    <header class="entry-header">
在此之后,您肯定需要为新图像添加一些样式。查看代码内部,可以使用类对其进行样式化my-custom-post-image.

结束

相关推荐

Duplicate images in wordpress

我在我的网站上使用wordpress,但“博客”部分(这里称为新闻和事件)有问题。为什么第一张图片会被复制-http://www.fiumanofineart.com/news-events/我试过修复它,但我不能。。。任何帮助都会很好,谢谢