Je rencontre un problème étrange lors de l’obtention des URL d’image avec wp_get_attachment_image_src
. Si aucune image sélectionnée n'a été définie, cela devrait renvoyer null. Cependant, dans ce cas, il renvoie wp-includes/images/crystal/default.png
.
Le code que j'utilise pour obtenir l'URL est:
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id,'full', true);
$thumb_url = $thumb_url_array[0]
Cela se passe dans WordPress 4.1.
voici la fonction wp_get_attachment_image_scr
:
function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = false) {
// get a thumbnail or intermediate image if there is one
if ( $image = image_downsize($attachment_id, $size) )
return $image;
$src = false;
if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
/** This filter is documented in wp-includes/post.php */
$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
$src_file = $icon_dir . '/' . wp_basename($src);
@list($width, $height) = getimagesize($src_file);
}
if ( $src && $width && $height )
return array( $src, $width, $height );
return false;
}
comme vous pouvez voir si le 3-ème paramètre est vrai, il recherche dans cette image le répertoire (et je suppose que wp_mime_type_icon
renvoie default.png
et que certains de vos plugins add_filter
à icon_dir
sont wp-includes/images/crystal
Supprimez simplement le troisième paramètre de votre exemple: $thumb_url_array = wp_get_attachment_image_src($thumb_id,'full');
et il devrait renvoyer false
s'il n'y a pas d'image ou d'URL d'image.