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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

3843閲覧

【WordPress】複数カテゴリーを持つ投稿を個別投稿ページで一つのカテゴリー毎にページ送りしたい

sssooo

総合スコア17

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/01/29 11:38

編集2017/01/29 14:24

###質問
カテゴリー: A,B,C,D
投稿1:カテゴリーA,Cを持つ
投稿2:カテゴリーA,Dを持つ
投稿3:カテゴリーB,Cを持つ
投稿4:カテゴリーB,Dを持つ

という括りがあるとして、
カテゴリーリンク一覧>該当カテゴリーアーカイブページ>個別投稿ページと表示させたいのですが、
個別投稿ページのページ送りを、カテゴリーアーカイブページに準じた投稿だけで送られるようにしたいのです。
現在は全ての投稿を取得してページ送りしてしまいます。single.phpでまとめて作成したいのですが、どのように親ページ?のカテゴリーに該当する投稿だけを取得できるでしょうか。

HTML

1 <article> 2 3 <?php if ( have_posts() ) : ?> 4 <?php while ( have_posts() ) : the_post(); ?> 5 6 <section post_class(); > 7 <?php the_content(); ?> 8 <div> 9 <div class="leftcol"> 10 <?php next_post_link('%link', '← prev', true ); ?> 11 </div> 12 <div class="rightcol"> 13 <?php previous_post_link('%link', 'next →', true ); ?> 14 </div> 15 </div> 16 </section> 17 18 <?php endwhile; ?> 19 <?php endif; ?> 20 21 </article>

###試したこと

  • ご指摘の通りtrueを追加して試してみているのですが変わらずです。single.phpにまとめて記述しているからではないかなと思うのですが、その場合クリック元の親ページのカテゴリーの取得、ページ送りへの適用の仕方が分かりません。

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

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

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

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

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

guest

回答2

0

【next_post_link() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/next_post_link/

【next_post_link:WordPress私的マニュアル】
http://elearn.jp/wpman/function/next_post_link.html

【previous_post_link() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/previous_post_link/

【previous_post_link:WordPress私的マニュアル】
http://elearn.jp/wpman/function/previous_post_link.html

投稿2017/01/29 12:36

kei344

総合スコア69407

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

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

0

「wordpress ページ送り カテゴリ」のようなワードで検索した際に表示されるページはご覧になられましたか?

たとえば、こことか。

WordPress 同一カテゴリ内でページ送りをしたい場合 - 横浜のホームページ制作 croitre
http://croitre.jp/wordpress-pagenavi.html

###追記
ご提示いただいたコードが当方の環境では正常に動くことを確認しました。

注意: 現在の投稿に 2 つ以上のターム(例:親と子の両方)がついていた場合、どのタームがついた投稿へリンクするかは選べません。

テンプレートタグ/next post link - WordPress Codex 日本語版
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/next_post_link

とあるので、そのせいで「全ての投稿を取得してページ送りして」いるように見えるのかもしれません。

投稿2017/01/29 12:32

編集2017/01/29 13:19
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sssooo

2017/01/29 13:40 編集

こちらの環境では、Aのカテゴリーのアーカイブページからシングルページに飛んだ場合も、投稿1~4全てが取得されページ送りされます。 現在の投稿に 2 つ以上のターム(例:親と子の両方)がついていた場合、どのタームがついた投稿へリンクするかは選べないということは、これらの複数のカテゴリーを持つ投稿をpost_linkで希望通りにページ送りするのは不可能ということでしょうか?親ページであるカテゴリーアーカイブページでは正常に振り分けできているので、そのカテゴリーを取得できればsingle.phpで振り分けれるのではないかと思うのですが...
退会済みユーザー

退会済みユーザー

2017/01/29 13:41

「カテゴリーアーカイブページ」から「個別投稿ページ」へ遷移した時点で、通常は元の「カテゴリーアーカイブページ」が何のカテゴリーであったかの情報は失われてしまうのだと思います。 どのカテゴリーアーカイブページからの遷移であるかを取得させるためにはなんらかの工夫がいります。 たとえば私が思いつくのだと、クエリストリングで「個別投稿ページ」へのリンクにカテゴリー名を付加しておくとか……実装したことがないのでできるかどうかはわかりませんが。 あまりお役にたてず申し訳ないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問