0

最新記事のタイトルとサムネイルをサイドバーに表示したい。これまでのところ、投稿のタイトルを取得しており、サムネイルが 1 つだけ複製されています。ここで結果を見ることができます.(最初/最も古い投稿画像のみが表示されます)

これが私のコードです:

$rps = wp_get_recent_posts($params);
foreach($rps as $rp) :
    $args = array(
            'post_type' => 'attachment',
            'numberposts' => 1,
            'post_status' => null,
            'post_parent' => $post->ID
             );

    $attachment = current(get_posts( $args ));
?>
<a href="<?php echo get_permalink($rp['ID']);?>"><?php echo $rp['post_title'];?><?php echo wp_get_attachment_image( $attachment->ID, 'thumbnail' );?></a>
<?php endforeach; ?>

与えられたヒント/支援に感謝します。

4

2 に答える 2

-1

2 つのクエリを実行する

1 つは最初の投稿を出力します。2 番目は、最初のものを除く他のすべてを出力します

<?php $args = array( 'post_type' => 'attachment', 'posts_per_page' => 1, 'post_parent' => $post->ID);  
$first = new WP_Query( $args ); 
while ( $first->have_posts() ) : $first->the_post(); ?>
<a href="<?php echo get_permalink();?>"><?php the_title();?><?php echo wp_get_attachment_image( $first->ID, 'thumbnail' );?></a>
<?php endwhile; wp_reset_postdata(); ?>
<?php $args2 = array( 'post_type' => 'attachment', 'posts_per_page' => 1, 'post_parent' => $post->ID, 'offset' => 1);  
$rest = new WP_Query( $args2 );
while ( $rest->have_posts() ) : $rest->the_post(); ?>
<a href="<?php echo get_permalink();?>"><?php the_title();?><?php echo wp_get_attachment_image( $rest->ID, 'thumbnail' );?></a>
 <?php endwhile; wp_reset_postdata(); ?>
于 2013-08-13T04:53:30.263 に答える