自动设置文章中第一张图片的URL(或标签)中的特色图片

时间:2017-10-06 作者:Alessandro Carrese

有没有一种方法或插件可以从文章中发布的第一张图片的url(或标签)设置特色图片?

2 个回复
SO网友:Maqk

您可以将帖子内容中的第一幅图像显示为,但不能将其设置为特色图像,但您可以显示它。

创建一个函数,从帖子内容中查找第一个标记,开头为<img> 元素,并在希望显示第一个图像的位置回显图像。在下面的函数中,我们使用ob_start() 它创建一个输出写入的缓冲区。

下面的代码有两个选项,可以只提取特定的扩展名,也可以只提取图像。取消注释您愿意使用jpg扩展映像的代码,并注释其他输出。

<?php
function prefix_get_first_image() {
  global $post, $posts;
  $first_image = \'\';
  ob_start();
  ob_end_clean();
  //Regex to only fetch .JPG extension images
  //$output = preg_match_all( \'/<img ([^>]* )?src=[\\"\\\']([^\\"\\\']*\\.jpe?g)[\\"\\\']/Ui\', $post->post_content, $matches );

  $output = preg_match_all( \'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches );
  $first_img = $matches [1] [0];

  // Define the default image if no img is inserted in the content
 if ( empty( $first_image ) ) {
    $first_image = get_template_directory_uri() . \'/images/default-image.jpg\';
  }
  return $first_image;
}
?>
现在,在要显示图像的位置放置以下函数并进行回显。

<?php echo prefix_get_first_image(); ?>
我不是WordPress的大师,但可能有一个插件可以做到这一点,但我认为你可能正在这样做,因为你可能已经有很多帖子将这些图像插入到内容中了。但从媒体库设置特色图像是个好主意。您应该使用WordPress本机功能,而不是使用自定义的方法来强制使用本机WordPress功能。

SO网友:Mostafa Soufi

尝试以下插件,将内容中的第一个图像设置为功能。

https://wordpress.org/plugins/get-first-image-set-as-featured-image/
https://wordpress.org/plugins/quick-featured-images/

结束

相关推荐

WordPress Plugins won't save

我有一个WordPress网站,我刚刚接管了一个客户,因此我没有能力与以前的网站管理员/开发人员交谈。该网站使用的是YOOtheme对Subway稍加修改的版本。为了更新插件位置,Subway的一部分有“小部件选项”。我无法更改外观或小部件显示的页面,因为我无法保存任何内容。它看起来像已保存,但没有保存,或者您会在保存按钮旁边看到“加载循环”,它一直在运行。Things to note:<WordPress和插件是最新的。在我们转移到新服务器之前,插件是可更新的。新服务器有一个max\\u inpu