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

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

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

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

PHP

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

Q&A

1回答

1125閲覧

WordPressのタクソノミーで親をチェックすれば子すべてを自動的にチェック

rjunakc

総合スコア368

WordPress

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

PHP

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

0グッド

0クリップ

投稿2022/11/16 07:57

編集2022/11/17 05:28

質問

標題の通りですが、カテゴリーでもカスタムタクソノミーでも、
投稿画面で親カテゴリをチェックした際に子カテゴリ全てに自動的にチェックが入るようにしたいです。

似たような機能で、子カテゴリにチェックを付けると自動的に親にもチェックが入るというプラグインがあるようですが、今回はそれとは逆になります。

子カテゴリが多く、一気に全てにチェックを付けたい場合に使用したいのですが、このようなことを実現する機能またはプラグインはあるでしょうか。

ちなみにWP6.1.1、ブロックエディタを使用しています。

###ソースコード
WPのブロックエディタのため、実際に出力されたものがそのまま使えるかどうかわかりませんが、該当部分のソースコードを記載します。

<div class="components-panel__body is-opened"> <h2 class="components-panel__body-title"> <button type="button" aria-expanded="true" class="components-button components-panel__body-toggle"> <span aria-hidden="true"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="components-panel__arrow" aria-hidden="true" focusable="false"><path d="M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"></path></svg> </span>カテゴリ </button> </h2> <div class="components-base-control editor-post-taxonomies__hierarchical-terms-filter css-qy3gpb ej5x27r4"> <div class="components-base-control__field css-1t5ousf ej5x27r3"> <label class="components-base-control__label css-1v57ksj ej5x27r2" for="inspector-text-control-2">カテゴリを検索</label> <input class="components-text-control__input" type="text" id="inspector-text-control-2" value=""> </div> </div> <div class="editor-post-taxonomies__hierarchical-terms-list" tabindex="0" role="group" aria-label="エリア"> <div class="editor-post-taxonomies__hierarchical-terms-choice"> <div class="components-base-control components-checkbox-control css-qy3gpb ej5x27r4"> <div class="components-base-control__field css-1t5ousf ej5x27r3"> <span class="components-checkbox-control__input-container"> <input id="inspector-checkbox-control-36" class="components-checkbox-control__input" type="checkbox" value="1"> </span> <label class="components-checkbox-control__label" for="inspector-checkbox-control-36">親</label> </div> </div> <div class="editor-post-taxonomies__hierarchical-terms-subchoices"> <div class="editor-post-taxonomies__hierarchical-terms-choice"><div class="components-base-control components-checkbox-control css-qy3gpb ej5x27r4"><div class="components-base-control__field css-1t5ousf ej5x27r3"><span class="components-checkbox-control__input-container"><input id="inspector-checkbox-control-37" class="components-checkbox-control__input" type="checkbox" value="1"></span><label class="components-checkbox-control__label" for="inspector-checkbox-control-37">子1</label></div></div></div> <div class="editor-post-taxonomies__hierarchical-terms-choice"><div class="components-base-control components-checkbox-control css-qy3gpb ej5x27r4"><div class="components-base-control__field css-1t5ousf ej5x27r3"><span class="components-checkbox-control__input-container"><input id="inspector-checkbox-control-38" class="components-checkbox-control__input" type="checkbox" value="1"></span><label class="components-checkbox-control__label" for="inspector-checkbox-control-38">子2</label></div></div></div> <div class="editor-post-taxonomies__hierarchical-terms-choice"><div class="components-base-control components-checkbox-control css-qy3gpb ej5x27r4"><div class="components-base-control__field css-1t5ousf ej5x27r3"><span class="components-checkbox-control__input-container"><input id="inspector-checkbox-control-39" class="components-checkbox-control__input" type="checkbox" value="1"></span><label class="components-checkbox-control__label" for="inspector-checkbox-control-39">子3</label></div></div></div> </div> </div> </div> <button type="button" aria-expanded="false" class="components-button editor-post-taxonomies__hierarchical-terms-add is-link">新規カテゴリを追加</button> </div>

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

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

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

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

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

yambejp

2022/11/16 08:02

それってサーバーサイドの課題ですか?UIならjsとかでは?
rjunakc

2022/11/16 08:37

ご質問ありがとうございます。 サーバーサイドではないです。WPプラグイン等で解決できる場合はそちらでも構いません。 こちらで調べた際には2年以上前に更新が停止しているプラグインしか見つけることができませんでした。
yambejp

2022/11/16 08:39

普通にjsでやればよいのでは? 親子関係が構造的なのか属性などで紐づいているのかによりますが HTMLを提示いただければ回答できるかもしれません
rjunakc

2022/11/17 05:28

ソースを追加してみました。
guest

回答1

0

親子関係の紐づけ要素が不明瞭ですが例えばこんな感じ

javascript

1document.addEventListener('change',e=>{ 2 const t=e.target; 3 if(t.closest('.components-base-control .components-checkbox-control__input')){ 4 t.closest('.editor-post-taxonomies__hierarchical-terms-choice').querySelectorAll('.editor-post-taxonomies__hierarchical-terms-subchoices .components-checkbox-control__input').forEach(x=>{ 5 x.checked=t.checked; 6 }); 7 } 8}); 9```{

投稿2022/11/17 05:51

yambejp

総合スコア114839

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問