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

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

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

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

PHP

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

Q&A

解決済

2回答

6891閲覧

taxonomy.phpだけで各ターム記事一覧を表示する

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2019/02/18 04:15

編集2019/02/18 10:48

いつもお世話になります。
やりたいことははっきりしているのですが、ページ遷移や読み込まなければいけないテンプレートがどれなのか分からず混乱しています。
category.phpで作らないといけないのか、taxonomy.phpで作らないといけないのかも曖昧になっています。
(カスタムタクソノミーで作っているため前者ではないだろうことはなんとなく分かるのですが…)

ご教示いただければ幸いです。

やりたいこと

  • カスタムタクソノミーを使用してページを作りたい

例) [ジャンル]というカスタムタクソノミーの[体験]がチェックされている記事のみの一覧ページを作りたい

  • 色・デザインが違うだけで、表示したい内容は一緒(記事名・写真・キャプション)

困っていること

  • taxonomy.php を作っても404.phpへ飛ばされる
  • taxonomy-{tarm}.phpで作らないとそもそもダメなのか(個別で作らずターム名で分岐したい)

バージョンや使用プラグイン

  • Wordpress 5.0.3
  • Advanced Custom Fields PRO 5.7.12
  • Custom Post Type UI 1.6.1

パーマリンク構造

https://www.hoge.co.jp/fugefuge//%postname%/

カスタムタクソノミーの登録内容(register_taxonomy で設定した内容)

CPT UIの設定を(ラベルやディスクリプション以外)登録済画面からそのままコピペしました

setting

1name: name 2label: ラベル 3singular_label: ラベル 4description:ディスクリプション 5public: true 6publicly_queryable: true 7hierarchical: true 8show_ui: true 9show_in_menu: true 10show_in_nav_menus: true 11query_var: true 12query_var_slug: "" 13rewrite: true 14rewrite_slug: "" 15rewrite_withfront: true 16rewrite_hierarchical: false 17show_admin_column: true 18show_in_rest: true 19show_in_quick_edit: "" 20rest_base: "" 21rest_controller_class: "" 22meta_box_cb: ""

taxonomy.php の中身

php

1<?php get_header(); ?> 2<?php get_footer(); ?>

.htaccess の内容

htaccess

1#/.htaccess mbstring.e off 2php_flag mbstring.encoding_translation off 3php_value default_charset "UTF-8" 4 5php_value upload_max_filesize xxM 6php_value post_max_size xxM 7 8# BEGIN WordPress 9<IfModule mod_rewrite.c> 10RewriteEngine On 11RewriteBase /fugefuge/ 12RewriteRule ^index.php$ - [L] 13RewriteCond %{REQUEST_FILENAME} !-f 14RewriteCond %{REQUEST_FILENAME} !-d 15RewriteRule . /fugefuge/index.php [L] 16</IfModule> 17# END WordPress

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

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

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

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

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

guest

回答2

0

ベストアンサー

どのテンプレートを用意したら良いかは、テンプレート階層 の概観図がわかりやすいと思います。


カスタムタクソノミーの場合は、テンプレート階層 の「カスタム分類表示」に記載されている通り、

  1. taxonomy-{taxonomy}-{term}.php
  2. taxonomy-{taxonomy}.php
  3. taxonomy.php
  4. archive.php
  5. index.php

の順で、利用されますので、taxonomy.php を作っているのであれば、それが利用されるはずですので、

taxonomy.php を作っても404.phpへ飛ばされる

が問題と思います。

テンプレートファイルを変更した場合に 404 が発生する場合ですが、よくあるのは、パーマリンクの設定が反映されていない場合ですが、WordPress 管理画面(ダッシュボード)で「設定」の「パーマリンク設定」画面を開いてそのまま「保存」ボタンを押すとどうなりますか?


これで、治らないのであれば、何か設定や記載内容に問題があると思われますが、質問の内容だけでは判断できません。

  • パーマリンク構造
  • カスタムタクソノミーの登録内容(register_taxonomy で設定した内容)
  • taxonomy.php の中身
  • .htaccess の内容

等を質問に追記することは可能でしょうか? (項目名等は、適宜置き換えてください。)

投稿2019/02/18 10:00

CHERRY

総合スコア25171

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

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

退会済みユーザー

退会済みユーザー

2019/02/18 10:55

>CHERRY 様 ありがとうございます。 情報は追記しましたが、質問の書き込み後にtaxonomy-{taxonomy}.phpで作成したところ、やりたかったことについてはとりあえずできました(詳細は後ほど自己解決に書き込みます) ただ、相変わらずtaxonomy.phpにつなげようとすると404.phpに飛ばされるのと(これについては単に何も入れてないからだとは思いますが…)、できれば-{taxonomy}は入れずに動かしたいので、単純にtaxonomy-{taxonomy}.phpで入れた内容をtaxonomy.phpに入れたらいいのでは…?と素人考えでおります…。
退会済みユーザー

退会済みユーザー

2019/02/18 10:57

>CHERRY 様 すみません、1点書き漏れましたので… パーマリンクの設定については書き込み前に試しましたが、変わりませんでした。でもこちらもtaxonomy.phpに何も入れていないからかと思います…。
guest

0

taxonomy.phpのみ使用するという点では解決していませんが、
とりあえずというところで自己解決しましたので書き込ませていただきます。
taxonomy-hoge.php のテンプレートを別途作成し下記の通りにいたしました。
閲覧・ご回答いただきましてありがとうございました。

php

1<?php 2$type = get_query_var('hoge'); 3$args = array( 4 'post_type' => array('hogetype'), 5 'tax_query' => array( 6 'relation' => 'OR', 7 array( 8 'taxonomy' => 'hoge', 9 'field' => 'slug', 10 'terms' => $type, 11 ), 12 ), 13 'paged' => $paged, 14 'posts_per_page' => '-1' 15); ?>

投稿2019/02/19 02:36

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問