Je veux savoir comment obtenir l'URL de l'image sur the_post_thumbnail()
the_post_thumbnail()
par défaut__
<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" />
Ici, je veux prendre le src seulement. Comment filtrer the_post_thumbnail()
uniquement pour obtenir http://domain.com/wp-content/uploads/2011/02/book06.jpg
Faites le moi savoir
Vous pourriez aussi essayer:
Si vous n'avez qu'une vignette de taille:
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) );
Ou ... si vous avez plusieurs tailles:
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "size" );
Notez que wp_get_attachment_image_src () renvoie un tableau: url, width, height, is_intermediate.
Donc, si vous ne voulez que l’URL de l’image:
echo $thumbnail[0];
Ressources:
Cela fait le tour:
<?php wp_get_attachment_image_src('subgall-thumb'); ?>
Assurez-vous que vous utilisez le nom correct pour la vignette que vous appelez.
Depuis WordPress 4.4, il existe une fonction de base efficace qui peut gérer cela de manière plus nette que les réponses fournies ici.
Vous pouvez utiliser the_post_thumbnail_url( $size )
qui imprimera l'URL de la vignette du message.
Alternativement, si vous souhaitez renvoyer l'URL au lieu de la sortir immédiatement, vous pouvez utiliser $url = get_the_post_thumbnail_url( $size )
Veuillez utiliser le code ci-dessous
<?php get_the_post_thumbnail_url(); ?>
S'il ne suffit pas d'atteindre votre objectif, essayez ci-dessous le code
<?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 ); ?>
Ok je l'ai eu avec simplexml_load_string
$dom = simplexml_load_string(get_the_post_thumbnail());
$src = $dom->attributes()->src;
echo $src;
Une autre méthode est la bienvenue.
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);
}
Cela retournera quelque chose comme 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" = chercher quelque chose comme while (have_posts ()): the_post ();
**Vous pouvez aussi sous-traiter "post-large"avec l’une de ces tailles d’image prédéfinies: post-miniature, post-moyen, post-complet