Carregar imagens anexas posteriores em um site de página única com fancybox

Estou tentando criar um site de uma única página que exibirá posts como miniaturas em alguma parte. Então, se uma miniatura for clicada, eu quero que todas as imagens contidas nesta publicação sejam carregadas com fancybox enquanto o usuário estiver hospedado em casa.

Estou carregando a primeira imagem no meu modelo com isso
<a href="https://wordpress.stackexchange.com//questions/101980/load-post-attached-images-on-a-single-page-site-with-fancybox/"> <a href="https://wordpress.stackexchange.com//questions/101980/load-post-attached-images-on-a-single-page-site-with-fancybox/"> .
E as imagens de mensagens são criadas apenas no editor dessa maneira
.

Quando clico na miniatura, o navegador segue o link permanente. Então estou preso com 2 abordagens diferentes agora.

  1. Carregando the_content do post e depois esconder todas as imagens, MAS o primeiro …

  2. Continuando com the_post_thumbnail(); e então escreva algo que encontrará a ID da postagem e, em seguida, exibirá o resto das imagens anexadas.

Estou apontando para o 2º, mas sou um desenvolvedor do WP muito novato, então não sei como escrever a function “encontrar ID” … Alguém pode ajudar? BTW Fancybox está funcionando com OK, eu posso abrir imagens.

Solutions Collecting From Web of "Carregar imagens anexas posteriores em um site de página única com fancybox"

Acho que entendo o que você está tentando alcançar agora. Você precisará modificar o single.php (ou single-post-type.php se for um CPT) para executar, via ajax, sua galeria ou seja o que for se o conteúdo estiver sendo visualizado através do ajax. Aqui está algo (modificado um pouco) que usei no passado para fazer exatamente isso.

Este é o loop principal, praticamente exatamente como você indicou acima. Nós assumimos que o fancybox está carregado e pronto.

 while($loop->have_posts()) : $loop->the_post(); echo ''. get_the_post_thumbnail($post->ID, 'some-size', array('class' => 'some-class')).''; endwhile; 

Adicione esta function a functions.php . Ele retornará verdadeiro se o conteúdo estiver sendo visualizado através de uma solicitação ajax.

 // content loading in ajax? function is_ajax() { return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']=="XMLHttpRequest"); } 

Então, em seu single, você vai querer descobrir se você está no ajax ou não, para criar algo assim:

 if(is_ajax()){ echo ''; // close anything we opened } else { get_footer(); // put any other closing divs here } wp_reset_query(); 

Perceba que muitas pessoas “tab browse” e, assim, abrirá sua visualização em miniatura em uma nova guia, então isso permitirá que sua página ainda seja visualizada no método alternativo.

Também depende de você como você deseja executar todas as imagens no single.php .