0

私はPHPとWordPressの初心者です。

WordPressテンプレートをカスタマイズしており、ホームページの抜粋投稿の視覚化で次の動作を実装します。

投稿に画像(1つ以上)が含まれている場合は、ホームページの投稿プレビューで、投稿のexcertpを表示するよりも、投稿に含まれる最初の画像のサムネイルを最初に表示します。

現時点では、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タグ)を表示することが可能かどうかを知っています

Tnx

アンドレア

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;
}

そしてそれをLOOPで使用します:

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