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

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

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

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

1016閲覧

セレクトボックスでカテゴリ毎の記事一覧を表示したい

oggy

総合スコア0

WordPress

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/07/24 14:19

編集2021/07/24 14:25

セレクトボックスでカテゴリ毎の記事一覧を表示したい

問題①
セレクトボックスにて子タームを持つ親タームを選択するとセレクトボックスのselectedが子タームになってしまう。
また、記事も親の記事ではなく子タームの記事が表示されてしまいます。。

問題②
ALLを選択するとカスタムポストの記事を全表示にしたく、
現状該当のソースコードで出来ているのですが
恐らくこれが原因でwp_pagenaviの2ページ目以降がTOPにリダイレクトされてしまいますが
方法はありますでしょうか。

▼パーマリンクの設定(プラグイン使用)
/customtaxpost/%customtax%/%postname%/としています。

問題③
②と関連しますが記事の投稿時、ターム(カテゴリ)を1件もチェックしていない場合、
何も表示されない認識ですが記事一覧に飛ぶと全件表示されてしまいます。。

使用テンプレート

taxonomy-customtax.php

該当のソースコード

PHP

1 <select name="select" onChange="location.href=value;"> 2 <option value="/customtaxpost/all/">ALL</option> 3 <?php 4 $terms = get_terms('customtax'); 5 // 2. foreach文でタクソノミーのタームをすべて表示する 6 foreach($terms as $term) { 7 $terms = get_the_terms($post->ID,'customtax'); 8 $slug = $terms[0]->slug; 9 // 3. if文でタクソノミーページの場合 & 現在表示されているページと同じカテゴリーの場合「selected」属性を付与する 10 if(is_tax() && $slug == $term->slug){ 11 echo '<option value="'.get_term_link($term->slug,'customtax').'" selected>'.$term->name.'</option>'; 12 }else{ 13 echo '<option value="'.get_term_link($term->slug,'customtax').'">'.$term->name.'</option>'; 14 } 15 } 16 ?> 17 </select> 18 19▼記事一覧のループ 20<?php 21$term = wp_get_object_terms($post->ID, 'customtax'); 22$term_name = $term[0]->name; //ターム名 23$term_slug = $term[0]->slug; //タームのスラッグ 24$paged = get_query_var('paged') ? get_query_var('paged') : 1; 25$args = array( 26 'post_type' => 'customtaxpost', 27 'taxonomy' => 'customtax', 28 'term' => $term_slug, 29 'paged' => $paged, 30 'posts_per_page' => 12 31); 32$the_query = new WP_Query( $args ); 33if ( $the_query->have_posts() ) : 34 while ( $the_query->have_posts() ) : 35 $the_query->the_post(); 36?> 37 38<div class="mod-list__box"> 39 <a href="<?php the_permalink(); ?>" class="mod-list__link"> 40 <div class="mod-list__img"> 41 <img src="/img/list/img01.png" alt=""> 42 </div> 43 <p class="mod-list__txt"><?php the_title(); ?></p> 44 <?php 45 $terms = get_the_terms($post->ID, 'customtax'); 46// 複数のカスタム分類を指定する場合は配列を使用する 47// $terms = get_the_terms($post->ID, array('カスタム分類名1','カスタム分類名2')); 48 if ( $terms ) { 49 foreach ( $terms as $term ) { 50 echo '<span class="mod-list__cat">'.$term->name.'</span>'; 51 } 52 } 53 ?> 54 </a> 55</div> 56<!-- [/mod-list__box] --> 57 58<?php endwhile; 59endif; 60?> 61 62<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(array('query' => $the_query)); } ?> 63 64<!-- ##記事が存在する場合にループ直後に表示する内容をここに記述する## --> 65 66<?php 67 wp_reset_postdata(); 68?>

試したこと

初心者で調べても不明だったため、助言いただければ嬉しいです。
何卒よろしくお願い致します。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問