Làm cách nào để tôi nhận được url hình ảnh chỉ trên the_post_thumbnail


33

Tôi muốn biết làm thế nào để có được url hình ảnh trên the_post_thumbnail()

Mặc định 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" />

Ở đây tôi chỉ muốn lấy src. Làm thế nào để tôi the_post_thumbnail()chỉ lọc để có đượchttp://domain.com/wp-content/uploads/2011/02/book06.jpg

Cho tôi biết


Câu trả lời:


41

Bạn cũng có thể thử:

Nếu bạn chỉ có một hình thu nhỏ kích thước:

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

Hoặc ... nếu bạn có nhiều kích cỡ:

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

Lưu ý rằng wp_get_attachment_image_src () trả về một mảng: url, width, height, is_inter liền.

Vì vậy, nếu bạn chỉ muốn url hình ảnh:

echo $thumbnail[0];

Tài nguyên:


Một gợi ý nhỏ: nếu bạn đang sử dụng hàm wp_get_attachment_image_src () với kích thước và muốn lấy kích thước hình thu nhỏ chính xác: sử dụng tên hình thu nhỏ được đưa ra trong định nghĩa (hàm add_image_size ()). Nếu bạn sử dụng mảng có kích thước, WP sẽ sử dụng kích thước hình ảnh đầu tiên có chiều rộng hoặc chiều cao phù hợp. Vì vậy, bạn có thể nhận được hình ảnh sai. Ví dụ: thay vì 156x98, bạn có thể có 120x98 nếu bạn có 2 hình ảnh được xác định: 156x98 & 120x98 (chiều cao là như nhau). Tôi đã yêu nó một lần;)
Marek Tuchalski

2

Đây là mẹo:

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

Đảm bảo bạn sử dụng tên chính xác cho hình thu nhỏ mà bạn đang gọi.


Tôi không biết nếu điều này đã thay đổi kể từ năm 2012, nhưng trong năm 2017, tham số đầu tiên wp_get_attachment_image_srcphải là số id đính kèm, không phải kích thước.
squarecandy


0

Ok có nó bằng cách sử dụng simplexml_load_string

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

Một phương pháp khác được chào đón.


0

Vui lòng sử dụng mã dưới đây

<?php get_the_post_thumbnail_url(); ?>

Nếu nó không đủ để đạt được mục tiêu của bạn thì hãy thử mã bên dưới

<?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 ); ?>

0

Để có giải pháp nhanh & bẩn, hãy đặt cái này vào tệp tin.php của chủ đề của bạn

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

Được sử dụng trong vòng lặp, điều này sẽ cung cấp cho bạn những gì bạn đang tìm kiếm

Điều này sẽ trả về một cái gì đó như 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="');

* "Trong vòng lặp" = tìm kiếm một cái gì đó như while (have_posts ()): the_post ();

** Bạn cũng có thể đăng ký " hậu lớn " với bất kỳ kích thước hình ảnh được xác định trước nào: hậu thu nhỏ, hậu trung bình, hậu đầy đủ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.