it-swarm.com.de

Mit dieser Abfrage können Sie alle Bilder einer einzelnen Seite abrufen

Ich habe Probleme mit diesem Beispiel-Widget-Code. Ich möchte alle Bilder (abzüglich des Post-Thumbnails) von einer Seite mit dem Namen "Galerie" erhalten, aber aus irgendeinem Grund werden alle hochgeladenen Bilder von der gesamten Site abgerufen.

Wie würde ich vorgehen, um das Post-Thumbnail von dieser Abfrage auszuschließen?

  query_posts('pagename=gallery');
if (have_posts()) : 
echo "<ul class='recentwidget group photowidget'>";
while (have_posts()) : the_post();
    $args = array(
    'post_type' => 'attachment',
    'numberposts' => 1,
    'post_status' => null,
    'post_parent' => $post->ID
);

$attachments = get_posts( $args );
    if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
       echo '<li class="left imageshadow photolarge">';
       echo wp_get_attachment_image( $attachment->ID, 'full' );
       echo '</li>';
      }
    }
endwhile;

endif; 
wp_reset_query();
7
Dean Elliott

Verwenden Sie get_children

Ich habe diesen Code verwendet, um alle Bilder aus einer Seitengalerie in der ausgewählten Reihenfolge zu extrahieren. Sie können diesen Code in die Schleife aufnehmen oder ihn eigenständig verwenden. Wählen Sie einfach den entsprechenden post_parent-Code aus (siehe das folgende Codebeispiel).

In diesem Beispiel werden alle Bilder angezeigt, die der Seiten-ID 1 zugeordnet sind. Sehen Sie sich Folgendes an:

        $images = get_children( array( 'post_parent' => 1, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) ); 
/* $images is now a object that contains all images (related to post id 1) and their information ordered like the gallery interface. */
        if ( $images ) { 

                //looping through the images
                foreach ( $images as $attachment_id => $attachment ) {
                ?>

                            <?php /* Outputs the image like this: <img src="" alt="" title="" width="" height="" /> */  ?> 
                            <?php echo wp_get_attachment_image( $attachment_id, 'full' ); ?>

                            This is the Caption:<br/>
                            <?php echo $attachment->post_excerpt; ?>

                            This is the Description:<br/>
                            <?php echo $attachment->post_content; ?>

                <?php
                }
        }

Suchen Sie die Beitrags-ID, aus der Sie Bilder extrahieren möchten, und fügen Sie sie in das folgende Argument ein: 'post_parent' => 1 (ersetzen Sie die 1 durch Ihre Seiten-ID)

sie können auch verwenden:

'post_parent' => $post->ID

Wenn Sie get_children in einer Schleife verwenden möchten, und die Beitrags-ID von der zurückgegebenen Beitrags-ID abrufen möchten.

Wenn Sie das ausgewählte Bild als ausgewähltes Bild ausschließen möchten, würde ich eine if-Anweisung überprüfen lassen, ob die Bild-URL mit der URL des ausgewählten Bildes übereinstimmt.

Hoffe das hilft! :)