get_post_gallery_images retorna os polegares. Eu quero tamanho completo

5

Eu tenho o seguinte código no meu site.

<?php // image gallery content 
if( has_shortcode( $post->post_content, 'gallery' ) ) {                     
    $gallery = get_post_gallery_images( $post->ID );


    $image_list = '<ul id="cfImageGallery">';                       
    foreach( $gallery as $image ) {// Loop through each image in each gallery
        $image_list .= '<li><img src=" ' . str_replace('-150x150','',$image) . ' " /></li>';
    }
    $image_list .= '</ul>';                     
    echo $image_list;                       
}                         
?>

Meu problema é que get_post_gallery_images retorna os arquivos polegares em vez de tamanho de preenchimento, então estou usando a função str_replace para resolvê-lo.

Como posso fazer para recuperar os URLs em tamanho real?

Obrigado

    
por chifliiiii 29.10.2013 / 20:15

2 respostas

1

Se você estiver trabalhando em um arquivo de modelo, esse código deverá funcionar. No entanto, eu não testei isso.

<?php echo do_shortcode('[gallery size="full"]'); ?>
    
por tfer77 29.10.2013 / 20:29
5

@ tfer77 deu a resposta certa. Eu estou aqui explicando isso de uma maneira melhor.

Você precisa adicionar o atributo size="full" ao shortcode da galeria no conteúdo da postagem, como

[gallery ids="836,830,829" size="full"]

Agora, quando você usa

$gallery = get_post_gallery_images( $post->ID );

Você receberá imagens em tamanho real. Você pode verificar o mesmo usando o filtro get_post_gallery

Cole o código abaixo no arquivo functions.php do seu tema.

add_filter( 'get_post_gallery', 'wpse_get_full_size_gallery_images', 10, 3 );
function wpse_get_full_size_gallery_images( $gallery, $post, $galleries ) { 
    var_dump($gallery);
}

e a página em que você usou get_post_gallery_images , você receberá um URL de imagem como

http://www.siteurl.com/wp-content/uploads/2013/10/eiffel-tower.jpg

em vez de

http://www.siteurl.com/wp-content/uploads/2013/10/eiffel-tower-150x150.jpg

    
por Maruti Mohanty 29.10.2013 / 20:45