web-dev-qa-db-ja.com

Get_postsの最初のエントリのthe_dateとthe_excerptのみを表示

以下のこのコードは、get_postsの5件の投稿のタイトルとリンクに問題はありませんが、最初の投稿の日付と抜粋のみを表示します。

<?php
$args = array(
    'posts_per_page' => 5,
    'post_type' => 'my',  
    'order_by' => 'post_date',
    'tax_query' => array(
                        array(
                    'taxonomy' => 'mycategory',
                    'field' => 'id',
                    'terms' => array(36, 38, 83, 84),
                    'operator' => 'NOT IN'
                    ),
                    ),
);
$last_five_posts = get_posts( $args );

foreach ( $last_five_posts as $post ) : setup_postdata( $post ); ?>
    <div><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>" id="frontpagelatestposttitle"><?php the_title(); ?></a></div>
    <div><?php the_date(); ?></div>
    <div id="frontpagelatestpostexcerpt"> <p>
    <?php the_excerpt(); ?>

    </p> </div>
<?php endforeach;
wp_reset_postdata();
?>
1
fff333

あなたは私が以前に持っていたのと同じ問題を抱えていると思います。これで 質問

だからここに固定コードです。これでうまくいくはずです。両方の関数をget_the_dateget_the_excerptに置き換えました。なぜこの理由で、なぜうまくいかないのかという詳細な説明については、@ kaiserの答えを同じ質問で読んでください。

<?php
$args = array(
    'posts_per_page' => 5,
    'post_type' => 'my',  
    'order_by' => 'post_date',
    'tax_query' => array(
        array(
            'taxonomy' => 'mycategory',
            'field' => 'id',
            'terms' => array(36, 38, 83, 84),
            'operator' => 'NOT IN'
        ),
    ),
);
$last_five_posts = get_posts( $args );

foreach ( $last_five_posts as $post ) : setup_postdata( $post ); ?>
    <div><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>" id="frontpagelatestposttitle"><?php the_title(); ?></a></div>
    <div><?php echo get_the_date(); ?></div>
    <div id="frontpagelatestpostexcerpt">
        <p><?php echo get_the_excerpt(); ?></p>
    </div>
<?php endforeach;
wp_reset_postdata();
?>
0
Robert hue