Sobre anexos de imagem…
Uma das coisas mais legais do WordPress é a capacidade de usar “Loops de anexo de imagem” para mostrar todas as imagens anexadas em um determinado post. Por exemplo, no meu último tema premium ( Minim Portfolio WordPress Theme ), as páginas de portfólio único vêm com vários estilos (slider, galeria, lista, imagens completas …) que usam um loop personalizado que puxa todas as imagens anexadas ao post para que você possa gerencie facilmente uma galeria de chute a * s sem ter que usar códigos de acesso.
Este é o loop de exemplo que uso para puxar os anexos de imagem em um post usando a função get_posts…
//laço de anexo
$args = array(
‘pedido por’ => ‘menu_pedido’,
‘post_type’ => ‘anexo’,
‘post_parent’ => get_the_ID(),
‘post_mime_type’ => ‘imagem’,
‘post_status’ => null,
‘posts_per_page’ => -1
);
$ anexos = get_posts($args);
Excluindo a imagem em destaque do loop de anexos
Mostrar todos os anexos de imagem de uma postagem é ótimo para usabilidade, no entanto, às vezes, um usuário pode querer excluir uma determinada imagem, como a imagem em destaque. Ter uma imagem em destaque separada pode ser mais útil em alguns sites do que ter que escolher uma imagem que também faça parte da galeria do post. Para o meu tema Minim , incluí uma opção meta útil para selecionar incluir ou excluir sua imagem em destaque do loop de anexos. Embora eu não vá mostrar como incluir toda a opção meta (você pode comprar o tema se realmente quiser ver isso), mas mostrarei abaixo como excluir sua imagem em destaque do loop de anexos.
- Primeiro, você definirá o ID da imagem em destaque como uma variável “$thumb_ID”
- Em seguida, adicionaremos isso ao argumento de exclusão para o loop de anexos. Coisas muito simples (mas úteis).
- Veja o código….
//pega o ID da imagem em destaque
$thumb_ID = get_post_thumbnail_id( $post->ID);
//laço de anexo – com argumento de exclusão para imagem em destaque
$args = array(
‘pedido por’ => ‘menu_pedido’,
‘post_type’ => ‘anexo’,
‘post_parent’ => get_the_ID(),
‘post_mime_type’ => ‘imagem’,
‘post_status’ => null,
‘posts_per_page’ => -1,
‘excluir’ => $thumb_ID
);
$ anexos = get_posts($args);
Confira a função “ Get_Posts ” no codex WP para obter mais informações sobre o parâmetro exclude.