the_post_thumbnail에서만 이미지 URL을 얻는 방법


33

이미지 URL을 얻는 방법을 알고 싶습니다. the_post_thumbnail()

태만 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" />

여기서는 src 만 가져오고 싶습니다. 필터링 the_post_thumbnail()하기 만하는 방법http://domain.com/wp-content/uploads/2011/02/book06.jpg

알려주세요


답변:


41

시도해 볼 수도 있습니다.

하나의 크기 축소판 만있는 경우 :

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

또는 ... 여러 크기가있는 경우 :

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

wp_get_attachment_image_src ()는 url, width, height, is_intermediate의 배열을 반환합니다.

따라서 이미지 URL 만 원한다면 :

echo $thumbnail[0];

자원:


약간의 힌트 : size와 함께 wp_get_attachment_image_src () 함수를 사용하고 정확한 축소판 크기를 얻으려면 정의에 제공된 축소판 이름을 사용하십시오 (함수 add_image_size ()). 치수가있는 배열을 사용하는 경우 WP는 적절한 너비 또는 높이를 가진 첫 번째 이미지 크기를 사용합니다. 이미지가 틀릴 수 있습니다. 예 : 156x98 대신 120x98이라는 두 개의 이미지가 정의되어 있으면 156x98 대신 120x98이 표시 될 수 있습니다 (높이는 동일 함). 나는 그것을 한 번 떨어졌다;)
Marek Tuchalski

2

이것은 트릭을 수행합니다.

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

호출하는 썸네일에 올바른 이름을 사용해야합니다.


2012 년 이후로 변경되었는지는 모르겠지만 2017 년의 첫 번째 매개 변수 wp_get_attachment_image_src는 크기가 아닌 첨부 파일 ID 번호 여야합니다.
squarecandy


0

알았어 simplexml_load_string

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

다른 방법도 환영합니다.


0

아래 코드를 사용하십시오

<?php get_the_post_thumbnail_url(); ?>

목표를 달성하기에 충분하지 않으면 아래 코드를 시도하십시오.

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

빠르고 더러운 솔루션을 얻으려면 테마의 functions.php 파일에 이것을 넣으십시오.

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

루프 내에서 사용하면 원하는 것을 얻을 수 있습니다.

이것은 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="');

* "루프 내에서"= while (have_posts ())와 같은 것을 찾으십시오 : the_post ();

** 또한 미리 정의 된 이미지 크기 (예 : 축소판 그림, 중간 크기, 전체 크기)로 " 대형 "을 제거 할 수도 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.