Suporte » Desenvolvendo com WordPress » Exibir 4 ultimas imagens da galeria padrão na home

  • Guilherme Velloso

    (@guilherme-velloso)


    Bom dia pessoal, como vão todos?!

    Estou procurando a dias e não encontro uma solução para meu problema.
    Tenho uma galeria padrão do wordpress em um post e gostaria de exibir as 4 ultimas imagens na home. Adicionei o <?php echo do_shortcode('[gallery link="file" orderby="post_date" columns="4"]'); ?>

    Só que ele exibe todas as imagens..rs
    Gostaria de exibir apenas 4 colunas e 1 linha, resultando o total de 4 imagens.

    Poderia pegar o id de 4 imagens, mas preciso de algo mais dinâmico, que pegue as ultimas e não por ids específicos.

    Alguém teria uma ideia de como solucionar este problema??
    Agradeço muito quem poder me dar esse help 😉

    Abraços a todos!
    Att,
    Guilherme Velloso

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Se não tiver mais nenhuma galeria na home, isso deve resolver:

    add_action('pre_get_posts','wp3001_galeria');
    
    function wp3001_galeria() {
    
        if(is_home() && $query->query_vars['post_type'] == 'attachment') {
            $query->query_vars['posts_per_page'] = 4;
        }
    
    }
    Criador do tópico Guilherme Velloso

    (@guilherme-velloso)

    Olá Ricardo Moraleida, muito obrigado por responder.
    Mas infelizmente também não deu certo..rs

    Eu consegui usar um código que funcionou perfeitamente. Mas como era apenas testes criei uma galeria qualquer. Como vi que estava tudo funcionando corretamente, resolvi deletar a galeria de teste e criei a final…ai o código parou de funcionar. Talvez este seu não esteja funcionando pelo mesmo motivo que não tenho ideia qual seja..rs

    Segue o código que eu estava utilizando:

    No functions.php

    function get_random_gallery_images(){
        global $wpdb,$post;
            $ids = "";
            $counter = 0;
            $number_of_posts = 4;
            $args = array(
            'post_type' => 'attachment',
            'numberposts' => 4,
            'post_status' => null,
            'orderby' => 'desc',
            'post_parent' => $post->ID
            );
            $attachments = get_posts($args);
            if ($attachments) {
                foreach ($attachments as $attachment) {  
    
                    if ($counter != 0) {
                        $ids .= ','.$attachment->ID;
                    }
                    else {
                        $ids .= $attachment->ID;
                    }
                    $counter++;
                }
            }
            return $ids;
    }

    E na index.php

    <?php $attachment_ids = get_random_gallery_images();
    echo do_shortcode('[gallery columns="4" include="'.$attachment_ids.'" link="file"]'); ?>

    Mais uma vez muito obrigado!
    Att,
    Guilherme Velloso

    Você precisa fazer um loop pegando as últimas, tem código para isso.

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘Exibir 4 ultimas imagens da galeria padrão na home’ está fechado para novas respostas.