Post ensinando a como pegar o link de todas as imagens salvas no repositório de imagens, videos, arquivos do WordPress.
As imagens salvas nos Post são do tipo “attachment” anexo. Para consulta-las iremos utilizar a classe WP_Query.
Como parâmetros na variável “$query_images_args” passamos os dados necessários para retornar apenas as imagens que desejamos, customize conforme a sua necessidade.
Consulte a documentação oficial para tirar suas dúvidas.
Código completo para consultar os “anexos”
$query_images_args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'post_status' => 'inherit', 'posts_per_page' => - 1, ); $query_images = new WP_Query( $query_images_args ); $images = array(); foreach ( $query_images->posts as $image ) { $images[] = wp_get_attachment_url( $image->ID ); }
Você pode utilizar essa função no seu tema ou em um arquivo PHP externo, para isso utilize o seguinte código antes:
define('WP_USE_THEMES', false); require('wp-load.php');
No exemplo acima estou imaginando que o arquivo PHP que está fazendo a chamada está no diretório principal do WordPress.
Exemplo listando as imagens com link
$argsThumb = array( 'order' => 'DESC', 'post_type' => 'attachment', 'post_parent' => $post->ID, 'post_mime_type' => 'image', 'post_status' => null ); $attachments = get_posts($argsThumb); if ($attachments) { foreach ($attachments as $attachment) { echo '<div class="images"><a href="' .wp_get_attachment_url($attachment->ID, 'medium', false, false). '"><img src="'.wp_get_attachment_url($attachment->ID, 'medium', false, false).'" /><div class="caption">'.apply_filters('the_content', $attachment->post_content).'</div></a></div>'; } }