質問: 現在、Wordpressでカスタム投稿を行い、商品の登録を行おうとしており、ページ送り自体が表示されない問題で詰んでいます。 ファイルの構成としては page-produxt.php(商品カテゴリーへの導線ページ) taxonomy-product-cat.php(カテゴリーごとに商品を表示する、記事一覧ページ) taxonomy-product-cat.php上でカテゴリーごとの商品一覧をなんとか表示することができたのですが、 ページ送りを実装しようとしたところ、ナビの表示すらされません。 ちなみにページナビはWP page Naviで実装を試しましたができませんでした。 カテゴリーごとの商品一覧は、以下ソースで実装致しました。 ``` ID, 'product-cat')); ?> slug)); if($tax_posts): ?> ID, 'product-cat', '',' ',''); ?> ID, array(500,500)); ?> post_title ) ); ?> ``` どのように記述を加えれば、ページナビが実装できますでしょうか? ページ送りの実装にお力をお貸しいただけましたら幸いです。 よろしくお願い致します。
回答: ポイントはいろいろとあるのですが、まず #### ページネーションですが、まず固定ページである必要があります。 固定ページは親子関係を持つことが可能だからです。 ですから、WordPressのテンプレート階層に基づいて、ファイル名は page-{your_page_name}.php にする必要があります。 次に、管理画面から固定ページを新規作成して、slugに上記{your_page_name}を設定して固定ページを作成します。 そうすると、ページとファイルが関連づいて、サイトに表示されるようになります。 以上がポイントの1つ目 #### 次に、WordPressの関数 **paginate_links** に引数 **total** が渡せます。 グローバル変数の **$wp_query** が **max_num_pages**のプロパティを持っています。ですので計算ロジックは不要です。 以下を参考にしてください ``` $wp_query->max_num_pages, 'show_all' => False, 'end_size' => 1, 'type' => 'list', 'prev_text' => 'Prev', 'next_text' => 'Next' ); echo paginate_links( $args ); ?> ``` #### 最後に **paginate_links** は ul li タグに決まったCSSのクラスを出力しますので、そのCSSのクラスを記載して、表示を整えます。 !イメージ説明