0

我是 PHP 和 WordPress 的新手。

我正在自定义一个 WordPress 模板,我将在我的主页的摘录帖子可视化中实现以下行为:

如果帖子包含图像(一个或多个),则在首页帖子预览中的开头显示帖子中第一个图像的缩略图,而不是显示帖子的摘录

目前我有以下代码,在 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>

好的,您可以看到此代码片段显示了帖子的摘录。

我会知道是否有可能在帖子中找到第一个图像,将其放入变量中并在摘录可视化之前将其显示在跨度(或其他一些 html 标记)中

肿瘤坏死因子

安德烈亚

4

1 回答 1

2

您可以尝试使用下面的功能将您的第一张图片删除到开头

function firstImageExcerpt($post_excerpt) {

    $reg_exp= '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i';
    preg_match_all($reg_exp, $post_excerpt, $matches);
    $first_img = $matches[0][0];

    $post_excerpt = str_replace($first_img, '', $post_excerpt);
    $post_excerpt = $first_img . $post_excerpt;
    return $post_excerpt;
}

并在循环中使用它:

    $post_excerpt = get_the_excerpt();
    echo firstImageExcerpt($post_excerpt);
于 2013-03-27T13:36:12.613 回答