[WordPress] Hämta alla bilder från en viss post type

Permalänk
Medlem

[WordPress] Hämta alla bilder från en viss post type

Efter många om och men visar det sig att guiden jag följt varit fel! Jag hade skrivit post-type istället för post_type!

Tjenare,

Har suttit med ett och samma problem ett bra tag nu, nämligen att försöka hämta och visa alla bilder som finns i posts som tillhör en viss post type. I det här fallet säger vi att jag har en post-type "media". Då vill jag hämta alla bilder som finns inlagda i media posts. Jag vill även göra detta utan att ändra på huvudqueryn. Hittills har jag kommit på två förslag, och inget av dem funkar. Mina två lösningar hittills är:

<?php $args = array( 'post_type' => 'media' ); $media_query = new WP_Query($args); ?> <?php if ($media_query->have_posts()) : while ($media_query->have_posts()) : $media_query->the_post(); ?> <?php $args2 = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => 'any', 'order' => 'ASC', 'orderby' => 'rand', 'post-parent' => $post->ID ); $attachments = get_posts( $args2 ); if ( $attachments ) { foreach ( $attachments as $attachment ) { echo apply_filters( 'the_title' , $attachment->post_title ); the_attachment_link( $attachment->ID , false ); } } endwhile; endif; wp_reset_postdata(); ?>

Dold text

<?php $args = array( 'post_type' => 'media' ); $media_query = new WP_Query($args); $args2 = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => 'any', 'order' => 'ASC', 'orderby' => 'rand', 'post-parent' => null ); $attachments = $media_query->get_posts( $args2 ); if ( $attachments ) { foreach ( $attachments as $post ) { setup_postdata( $post ); the_title(); the_attachment_link( $post->ID, false ); the_excerpt(); } wp_reset_postdata(); } ?>

Dold text

Med den första får jag upp alla attachments för alla posts, oberoende av post type, och med den andra får jag upp the_title() av min media post och därefter "Missing Attachment". Därför vänder jag mig nu till er SweClockers; vad har jag gjort fel, hur löser jag det, och går det kanske att lösa på ett mer resurseffektivt sätt?

Vet att det går genom att ändra huvudqueryn, som i lösningen här.

MVH
Leo

Efter ytterligare undersökning inser jag ett stort problem: bildens post_parent är inte densamma som inläggets $post->ID!

Efter att ha tömt papperskorgen samt skapat inlägget på nytt ordnade sig stämde åtminstone post_parent och förälderns post id överens. Det enda problemet nu är att "'post-parent' => $post->ID" ignoreras i $args2-queryn. Lösningar på detta är därför väldigt uppskattade!

Visa signatur

Citera för svar!|Fraktfritt hos INET|Min hemsida
Fractal Design Define R3|Corsair AX 850W|Gigabyte Nvidia GeForce GTX 570|Corsair Vengeance 1600MHz 2x4GB|ASRock P67 Extreme4|Intel Core i5 2500K|2x Samsung Spinpoint F3 1TB|Samsung Blu-Ray läsare
Nikon D7000|Nikon 60mm macro|Nikon 18-70|Nikon 55-300|Nikon 10.5 Fisheye