質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

Q&A

1回答

2298閲覧

【Wordpressカスタム投稿】カスタムタクソノミーの記事一覧ページでのページ送りが実装できない

sawady

総合スコア9

CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

0グッド

0クリップ

投稿2016/08/05 07:08

編集2022/01/12 10:55

現在、Wordpressでカスタム投稿を行い、商品の登録を行おうとしており、ページ送り自体が表示されない問題で詰んでいます。

ファイルの構成としては
page-produxt.php(商品カテゴリーへの導線ページ)
taxonomy-product-cat.php(カテゴリーごとに商品を表示する、記事一覧ページ)

taxonomy-product-cat.php上でカテゴリーごとの商品一覧をなんとか表示することができたのですが、
ページ送りを実装しようとしたところ、ナビの表示すらされません。

ちなみにページナビはWP page Naviで実装を試しましたができませんでした。

カテゴリーごとの商品一覧は、以下ソースで実装致しました。

PHP

1 2 3<div class="items"> 4 5 <?php $paged = get_query_var('paged'); ?> 6 <?php 7 $taxonomy_name = 'product-cat'; 8 $bread_taxonomies = get_terms( $taxonomy_name ); 9 ?> 10 11 <?php 12 $term = array_shift(get_the_terms($post->ID, 'product-cat')); 13 ?> 14 <?php $tax_posts = get_posts('post_type=product&posts_per_page=1&taxonomy=product-cat&term='.esc_html($term->slug)); if($tax_posts): ?> 15 <div class="tagList clearfix"> 16 <?php $term_list = get_the_term_list( $post->ID, 'product-cat', '',' ',''); ?> 17 <?php if ( $term_list ): ?> 18 19 <?php endif; ?> 20 </div> 21 22 <?php foreach($tax_posts as $tax_post): ?> 23 <dl> 24 <dt><?php echo get_the_post_thumbnail( $tax_post->ID, array(500,500)); ?></dt> 25 <dd><span><?php echo esc_html( apply_filters( 'the_title', $tax_post->post_title ) ); ?></span></dd> 26 </dl> 27 <?php endforeach; ?> 28 29 <?php endif; ?> 30 31 </div> 32 33 34

どのように記述を加えれば、ページナビが実装できますでしょうか?
ページ送りの実装にお力をお貸しいただけましたら幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/08/05 17:36

記載されているソースは taxonomy-product-cat.php のものでしょうか。page-produxt.php のものでしょうか。
guest

回答1

0

ポイントはいろいろとあるのですが、まず

ページネーションですが、まず固定ページである必要があります。

固定ページは親子関係を持つことが可能だからです。
ですから、WordPressのテンプレート階層に基づいて、ファイル名は
page-{your_page_name}.php にする必要があります。
次に、管理画面から固定ページを新規作成して、slugに上記{your_page_name}を設定して固定ページを作成します。

そうすると、ページとファイルが関連づいて、サイトに表示されるようになります。

以上がポイントの1つ目

次に、WordPressの関数 paginate_links に引数 total が渡せます。

グローバル変数の $wp_query が max_num_pagesのプロパティを持っています。ですので計算ロジックは不要です。

以下を参考にしてください

php

1 <?php 2 global $wp_query; 3 $args = array( 4 'total' => $wp_query->max_num_pages, 5 'show_all' => False, 6 'end_size' => 1, 7 'type' => 'list', 8 'prev_text' => 'Prev', 9 'next_text' => 'Next' 10 ); 11 echo paginate_links( $args ); ?> 12 13

最後に paginate_links は ul li タグに決まったCSSのクラスを出力しますので、そのCSSのクラスを記載して、表示を整えます。

イメージ説明

投稿2021/05/13 03:57

happyteethago

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問