Bagaimana cara mendapatkan url gambar hanya di the_post_thumbnail

33

Saya ingin tahu cara mengaktifkan url gambar the_post_thumbnail()

Default the_post_thumbnail()

<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/book06.jpg" class="attachment-post-thumbnail wp-post-image" alt="book06" title="book06" />

Di sini saya ingin ambil src saja. Bagaimana cara memfilter the_post_thumbnail()hanya untuk mendapatkanhttp://domain.com/wp-content/uploads/2011/02/book06.jpg

Biarkan aku tahu

ha ha
sumber
kemungkinan rangkap dari Mendapatkan Jalur Gambar Kecil alih-alih Tag Gambar
Jan Fabry

Jawaban:

41

Anda mungkin juga mencoba:

Jika Anda hanya memiliki satu ukuran thumbnail:

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) );

Atau ... jika Anda memiliki beberapa ukuran:

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "size" );

Perhatikan bahwa wp_get_attachment_image_src () mengembalikan array: url, lebar, tinggi, is_intermediate.

Jadi jika Anda hanya ingin url gambar:

echo $thumbnail[0];

Sumber:

Ross
sumber
Sedikit petunjuk: jika Anda menggunakan fungsi wp_get_attachment_image_src () dengan ukuran dan ingin mendapatkan ukuran thumbnail yang tepat: gunakan nama thumbnail yang diberikan dalam definisi (function add_image_size ()). Jika Anda menggunakan array dengan dimensi, WP akan menggunakan ukuran gambar pertama yang memiliki lebar atau tinggi yang sesuai. Jadi Anda mungkin mendapatkan gambar yang salah. Contoh: alih-alih 156x98 Anda mungkin sudah mendapatkan 120x98 jika Anda memiliki 2 gambar yang ditentukan: 156x98 & 120x98 (tingginya sama). Aku jatuh cinta sekali;)
Marek Tuchalski
2

Ini caranya:

<?php wp_get_attachment_image_src('subgall-thumb'); ?>

Pastikan Anda menggunakan nama yang benar untuk gambar mini yang Anda panggil.

Anna
sumber
Saya tidak tahu apakah ini telah berubah sejak 2012, tetapi pada 2017 parameter pertama wp_get_attachment_image_srcharus berupa nomor id lampiran, bukan ukurannya.
squarecandy
2

Sejak WordPress 4.4, ada fungsi inti efisien yang dapat menangani ini dengan cara yang lebih bersih daripada jawaban di sini.

Anda dapat menggunakan the_post_thumbnail_url( $size )yang akan mencetak URL dari thumbnail postingan.

Atau jika Anda ingin mengembalikan URL alih-alih segera menampilkannya, Anda dapat menggunakannya $url = get_the_post_thumbnail_url( $size )

cameronjonesweb
sumber
0

Ok sudah menggunakannya simplexml_load_string

$dom = simplexml_load_string(get_the_post_thumbnail());
$src = $dom->attributes()->src;
    echo $src;

Metode lain dipersilakan.

ha ha
sumber
0

Silakan Gunakan kode di bawah ini

<?php get_the_post_thumbnail_url(); ?>

Jika itu tidak cukup untuk mencapai tujuan Anda maka cobalah kode di bawah ini

<?php $postimages = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'large' );

// Check for images if ( $postimages ) {

    // Get featured image   $postimage = $postimages[0];

} else {} while (have_posts() && $i < 8) : the_post(); echo esc_url( $postimage ); ?>
Jit Gurav
sumber
0

Untuk solusi cepat & kotor, ketuk ini di file functions.php tema Anda

FUNCTION GET_STRING_BETWEEN($STRING, $START, $END){
    $STRING = " ".$STRING;
    $INI = STRPOS($STRING, $START);
    IF ($INI == 0) RETURN "";
    $INI += STRLEN($START);
    $LEN = STRPOS($STRING, $END, $INI) - $INI;
    RETURN SUBSTR($STRING, $INI, $LEN);
}

Digunakan dalam loop, ini akan memberi Anda apa yang Anda cari

Ini akan mengembalikan sesuatu seperti http://foo.com/wp-content/uploads/2019/02/toy-story-two-was-ok.jpg

$THE_FEATURED_IMAGE = GET_STRING_BETWEEN(get_the_post_thumbnail(NULL,'post-large'), 'src="', '" class="');

* "Within the loop" = cari sesuatu seperti while (have_posts ()): the_post ();

** Anda juga dapat menghilangkan " post-large " dengan ukuran gambar yang sudah ditentukan sebelumnya: post-thumbnail, post-medium, post-full

Taylor Hunt
sumber