我正在自定义WordPress模板,我将在主页中的摘录帖子可视化中实现以下行为:
If a post contains images (one or more), in the homepage post preview show at the begining a thumbnail of the first image that is in the post, then show the excerpt of the post.
目前,我有以下代码,在WordPress循环中显示主页中所有帖子的摘录:
<!-- .entry-summary -->
<?php else : ?>
<div class="entry-content">
<?php the_excerpt(); ?>
<?php wp_link_pages( array( \'before\' => \'<div class="page-link"><span>\' . __( \'Pages:\', \'admired\' ) . \'</span>\', \'after\' => \'</div>\' ) ); ?>
</div>
正如您所看到的,这个代码片段显示了一篇文章的摘录。
在摘录可视化之前,是否可以在帖子中找到第一个图像,将其放入变量并在span(或其他一些HTML标记)中显示?
最合适的回答,由SO网友:Tribalpixel 整理而成
如果是您帖子的“特色图片”,您可以使用:
<?php
// check if the post has a Post Thumbnail assigned to it.
if ( has_post_thumbnail() ) { the_post_thumbnail(); }
?>
检查:
the_post_thumbnail function否则,如果你想在帖子中获得第一张图片,你可以使用这样的东西:
function get_first_post_image() {
global $post, $posts;
$first_img = \'\';
ob_start();
ob_end_clean();
$output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches);
$first_img = $matches [1] [0];
//Defines a default image
if(empty($first_img)){
$first_img = "/images/default.jpg";
}
return $first_img;
}
然后放置
<?php echo get_first_post_image(); ?>