サポート » 使い方全般 » オリジナルのアーカイブページの作り方を教えて!

  • yuusukehachigou

    (@yuusukehachigou)


    たとえば個別にランキングだったり、favoriteプラグインのお気に入りリストだったりのページを作りたい。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • CG

    (@du-bist-der-lenz)

    カテゴリーやタグで分類するのか、カスタム投稿タイプを作ることでしょう。

    yuusukehachigou

    (@yuusukehachigou)

    ちなみに、ページネイションができることが前提です

    yuusukehachigou

    (@yuusukehachigou)

    ちなみに、カスタム投稿タイプでは、メインループをfunctions.phpでかえて普通の投稿を呼びだしたら,テンプレートが、archive.phpになりカスタム別に条件分岐できません。

    yuusukehachigou

    (@yuusukehachigou)

    サブループでかいたら、ページネイションが表示されません

    yuusukehachigou

    (@yuusukehachigou)

    以下サブループのコードです。

    <?php
    /**
     * The template for displaying archive pages
     *
     * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
     *
     * @package WordPress
     * @subpackage Twenty_Nineteen
     * @since 1.0.0
     */
    
    get_header();
    ?>
    
                <?php  $paged = get_query_var('page') ? get_query_var('page') : 1;     
                $args = array( 'posts_per_page' => 2,
                               'paged' => $paged,
                             'nopaging' => false ); 
                $the_query = new WP_Query($args);
                         $n=1; 
                ?>
               
                <div class='mypostlist'> 
    <?php  $max_num_pages = $the_query->max_num_pages; ?>
                <?php  if($the_query -> have_posts()) : while($the_query -> have_posts()) : $the_query -> the_post();
                        ?>
                  <div class="aida1">  
                <?php the_title(); ?><br>
                <?php echo $n ;?>                   
                <?php if(has_post_thumbnail()): ?>
                   <a href="<?php the_permalink() ?>"> 
    
                          <?php the_post_thumbnail('index_thumbnail',array('class'=>'forsize')); ?>
                      </a>
    
                <?php else: ?>
                  <a href="<?php the_permalink() ?>"> 
                       <img src="<?php  echo get_stylesheet_directory_uri(); ?>/no-image.png" class="forsize" >
                    </a>
                <?php endif; ?>
                <?php $n++; ?>
                <br>
                <dl>
                <dt>
                <?php the_time('Y.m.d') ?> 
            
                </dt>
                </dl>
    
                  </div>     
                
        <?php endwhile; ?>
                    <?php else: ?>    
                    <p>投稿がありません</p>
                    <?php endif; ?>
                 </div><!--mypostlink-->
    
       
     
    		
    <?php wp_reset_postdata(); ?> 		
    		
    <?php the_posts_pagination(array(
    	'mid_size' => 2,
    	'prev_text' => __( 'ooo' ),
    	'next_text' => __( 'eee' ),) ); ?>
     
    <?php
    get_footer(); ?>
    
    ikaring

    (@ikaring)

    きちんとコード読んでないですが、the_posts_paginationのあとにwp_reset_postdataしないとページネーションは効かないんじゃないでしょうか。

    Honda

    (@rocketmartue)

    the_posts_paginationの位置が変ですね。
    endwhileの後に移動してください。

    あと気になるのが、わざわざサブループを使っているところですが、
    カスタム投稿タイプのアーカイブページは、メインループで表示するのが普通です。

    ちなみに、カスタム投稿タイプでは、メインループをfunctions.phpでかえて普通の投稿を呼びだしたら,テンプレートが、archive.phpになりカスタム別に条件分岐できません。

    これって、どんなコードを書きましたか?

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。