您可以将帖子内容中的第一幅图像显示为,但不能将其设置为特色图像,但您可以显示它。
创建一个函数,从帖子内容中查找第一个标记,开头为<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功能。