web-dev-qa-db-fra.com

shortcode obtenir la taille de la vignette

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

1
DinhTv

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");
2
Kory

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");
0
Ajay Gadhavana