Comment obtenir une taille de vignette shortcode?
mon code devient la taille de la vignette shortcode dans les fonctions:
function thumb_medium( $atts, $content = null ) {
return wp_get_attachment_url( get_post_thumbnail_id( $post_id, 'medium') );
//or wp_get_attachment_url( get_post_thumbnail_id( $post_id, 'large') );
//or wp_get_attachment_url( get_post_thumbnail_id( $post_id, array(100,100)) );
}
add_shortcode("get_urlthumb", "thumb_medium");
mais [get_urlthumb] renvoie toujours la miniature de l'URL sous la forme: wp-content/uploads/2015/08/Origin-image-upload.jpg
Merci
Je pense que votre code est très proche, essayez d'utiliser wp_get_attachment_image_src()
à la place:
function thumb_medium( $atts, $content = null ) {
// return wp_get_attachment_url( get_post_thumbnail_id( $post_id, 'medium') );
global $post;
$thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'medium' )[0];
if ($thumb_url) {
return $thumb_url;
}
}
add_shortcode("get_urlthumb", "thumb_medium");
Vous pouvez également utiliser la fonction aq_resize
.
Il y a des deuxième et troisième arguments pour la taille, vous pouvez donc donner la taille que vous voulez.
Même vous pouvez aussi définir ces tailles en utilisant un shortcode. Vérifiez comment passer des arguments à shortcode et passez à l'aide de shortcode si vous voulez récupérer une taille dynamique à chaque fois
function thumb_medium( $atts, $content = null ) {
$thumb = wp_get_attachment_url( get_post_thumbnail_id( $post_id, 'full') );
$thumb = aq_resize( $thumb, 400, 400, true ); //resize & crop img
}
add_shortcode("get_urlthumb", "thumb_medium");