Como obter anexos para um tipo de postagem específico?

4

Eu tenho esta página onde estou mostrando todos os anexos do post.

Este é o código:

<?php
$args = array(
    'post_type' => 'attachment',
    'post_status' => 'published',
    'posts_per_page' =>25,
    'post_parent' => null, // Post-> ID;
    'numberposts' => null,
);

$attachments = get_posts($args);

$post_count = count ($attachments);

if ($attachments) {
    foreach ($attachments as $attachment) {
    echo "<div class=\"post photo col3\">";
        $url = get_attachment_link($attachment->ID);// extraigo la _posturl del attachmnet      
        $img = wp_get_attachment_url($attachment->ID);
        $title = get_the_title($attachment->post_parent);//extraigo titulo
        echo '<a href="'.$url.'"><img title="'.$title.'" src="'.$img.'"></a>';
        echo "</div>";
    }   
}
?>

Agora, eu tenho os post_types 'post', 'page' e 'videos'. Eu estou recebendo todos eles, mas quero exibir 'post' post_type apenas. Como excluo 'video' post_type?

Obrigado!

    
por user1341839 24.07.2012 / 16:49

2 respostas

1
$posts = get_posts( array( 'post_type' => 'post', 'posts_per_page' => -1 ) );

     foreach ( $posts as $post ) {

         $attachments = get_children( array (
            'post_parent'    => $post->ID,
            'post_type'      => 'attachment',
            'post_mime_type' => 'image',
            'post_per_page'  => 25
        ), ARRAY_A );


      if( $attachments ) {
         //continue with what you were doing

      }
   }
    
por Chris_O 25.07.2012 / 12:48
0

apenas cole o seguinte código em qualquer lugar no seu arquivo de postagem e os anexos serão exibidos.

$args = array(
    'post_type' => 'attachment',
    'numberposts' => null,
    'post_status' => null,
    'post_parent' => $post->ID
); 
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}
    
por Selva Balaji 27.12.2012 / 06:18