0

特定のカスタム分類の下にリストされているすべての投稿を表示するこの優れた機能を見つけました。それはうまくいきます。ここで見つかりましたhttp://gilbert.pellegrom.me/wordpress-list-posts-by-taxonomyいくつかのアイデアを試しましたが、失敗しましたが、返されたデータのページネーションを試みました。データが取得されないか、リスト全体が引き続き表示されます。私のタクソノミーの中には、10,000 件を超える投稿が関連付けられているものがあります。したがって、ページネーションは論理的に見えるでしょう。

私がやりたいことは次のとおりです。返された情報を使用して、「n」個の投稿のページを作成し、他のページ (1,2,...4,5 など) へのリンクを作成します。どんな助けでも大歓迎です。

これを関数ファイルに入れました。

   function list_posts_by_taxonomy( $post_type, $taxonomy, $get_terms_args = array(),
   $wp_query_args = array() ){
   $tax_terms = get_terms( $taxonomy, $get_terms_args );

    if( $tax_terms ){
    foreach( $tax_terms  as $tax_term ){
        $query_args = array(
            'post_type' => $post_type,
            "$taxonomy" => $tax_term->slug,
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'ignore_sticky_posts' => true
        );
        $query_args = wp_parse_args( $wp_query_args, $query_args );

        $my_query = new WP_Query( $query_args );
        if( $my_query->have_posts() ) { ?>
            <h2 id="<?php echo $tax_term->slug; ?>" class="title">
            <?php echo $tax_term->name; ?></h2>

            <ul>
            <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

               <li><a href="<?php the_permalink() ?>" rel="bookmark" 
                    title="Permanent Link to <?php the_title_attribute(); ?>">
                    <?php the_title(); ?></a></li>

            <?php endwhile; ?>
            </ul>
            <?php
        }
        wp_reset_query();
    }
}
}

?>

そして、このコードはテンプレートに入り、「分類法」の名前を詰め込み、データを表示します。ページネーションを関数またはテンプレートに入れる必要があるかどうか、私が確信していなかった別の質問。

<div class="my_class">
<?php
list_posts_by_taxonomy( 'my_posttype', 'taxo_mytaxo' );
?>
</div>

みんなありがとう!

4

1 に答える 1