it-swarm.com.de

bilder zum Posten anhängen

Ich möchte die Möglichkeit haben, Bilder aus der Medienbibliothek in einem JQuery-Schieberegler auf der Startseite zu verwenden, damit andere Benutzer die Bilder problemlos aktualisieren können, ohne sie fest codieren zu müssen. Ich habe ein paar Fotos an einen Beitrag angehängt und dies ausprobiert

<?php
$image_query = new WP_Query(array('name'=>'slider-images'));
while ( $image_query->have_posts() ) : $image_query->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>';
            echo '<img src="'.wp_get_attachment_url($attachment->ID).'" />';
            echo '</li>';
        }
    }
endwhile;
wp_reset_postdata();
?>

aber es zeigt nichts an. Stimmt etwas mit meinem Code nicht oder gibt es eine einfachere/bessere Möglichkeit, Bilder zu gruppieren, als sie in einem Post zu platzieren?

BEARBEITEN: Wenn ich the_content () in meiner $ image_query-Schleife verwende, werden die Bilder wie folgt ausgegeben

<p>
    <a href="...">
        <img src="..." />
    </a>
</p>

aber was ich brauche ist sowas

<li>
    <a href="...">
        <img src="..." />
    </a>
</li>
3
Devin Crossman

Es ist besser, get_children als get_posts zu verwenden. Hier ist ein kurzes Beispiel, das funktionieren wird. Dies geschieht in Form einer Funktion, die in Ihrem Plugin oder in functions.php definiert ist. Verwenden Sie dann die Funktion als Template-Tag.

    /**
     * Gets all images attached to a post
     * @return string
     */
    function wpse_get_images() {
        global $post;
        $id = intval( $post->ID );
        $size = 'medium';
        $attachments = get_children( array(
                'post_parent' => $id,
                'post_status' => 'inherit',
                'post_type' => 'attachment',
                'post_mime_type' => 'image',
                'order' => 'ASC',
                'orderby' => 'menu_order'
            ) );
        if ( empty( $attachments ) )
                    return '';

        $output = "\n";
    /**
     * Loop through each attachment
     */
    foreach ( $attachments as $id  => $attachment ) :

        $title = esc_html( $attachment->post_title, 1 );
        $img = wp_get_attachment_image_src( $id, $size );

        $output .= '<a class="selector thumb" href="' . esc_url( wp_get_attachment_url( $id ) ) . '" title="' . esc_attr( $title ) . '">';
        $output .= '<img class="aligncenter" src="' . esc_url( $img[0] ) . '" alt="' . esc_attr( $title ) . '" title="' . esc_attr( $title ) . '" />';
        $output .= '</a>';

    endforeach;

        return $output;
    }
5
Chris_O