-
投稿者投稿
-
2020年11月26日 11:52 PM #61678
いつもありがとうございます。
【お使いの Snow Monkey のバージョン】11.7.6
【お使いのブラウザ】chrome
【当該サイトのURL】制作中===
上記記事を参照して、投稿の一覧で、各投稿のカテゴリーを複数表示することは簡単にできたのですが、各投稿の親カテゴリ(最上位)のみを複数表示させる方法がわかりません。
get_the_category()などを使用して試みたのですが、複数の親カテゴリにまたがる投稿は1個しか取得できませんでした。
ご教授いただけますでしょうか?
♥ 0いいねをした人: 居ません2020年11月30日 9:38 AM #61847コードを書いてみようと思うので、どのようなカテゴリーが存在していて、どのカテゴリーにチェックをしているかを教えてください!
例:
- ニュース - 日記 - グルメ - 映画 があって、ニュースと映画にチェックしている
♥ 0いいねをした人: 居ません2020年12月5日 7:48 PM #62367ご返信ありがとうございます。
公開したので、こちらのサイトとなります。
新刊情報
-作家名
キャンペーン
-作家名
特典情報
-作家名というカテゴリ構成で、
新刊情報、特典情報、作家名がチェックされている場合、
新刊情報とキャンペーンのみ表示したいんです。記入していて気づいたのですが、
新刊情報
キャンペーン
特典情報
作家
-作家名として、作家、および作家以下を表示しないとしたほうがスマートかもしれませんね。
(ユーザーが追加したカテゴリでしたので、精査できておらず申し訳ございません)親のみしか表示しない。
もしくは、
親のみ表示かつ指定したカテゴリは除外どちらの方法でも結構です。
どうぞよろしくお願いいたします。
♥ 0いいねをした人: 居ません2020年12月7日 11:56 AM #62441新刊情報
-作家名
キャンペーン
-作家名
特典情報
-作家名というカテゴリ構成で、
新刊情報、特典情報、作家名がチェックされている場合、
新刊情報とキャンペーンのみ表示したいんです。えーっと、「新刊情報、特典情報、作家名」の「作家名」はどの親カテゴリーの作家名でしょうか…?
また、「新刊情報、特典情報、作家名」だと「特典情報」が入っていて「キャンペーン」が入っていませんが、「新刊情報とキャンペーンのみ表示」というのはどういう判定になりますでしょうか?♥ 0いいねをした人: 居ません2020年12月7日 12:10 PM #62445ご返信ありがとうございます。
ごめんなさい。
新刊情報、特典情報、作家名がチェックされている場合、
新刊情報とキャンペーンのみ表示したいんです。は誤りで、
新刊情報、特典情報、作家名がチェックされている場合、
新刊情報と特典情報のみ表示したいんです。の誤りでした。
親カテゴリが
- 新刊情報
- キャンペーン
- 特典情報
とあり、
それぞれに作家名が子カテゴリとして設定されています。
ですので作家名の重複があります。お手数をおかけしますが、どうぞよろしくお願いいたします。
♥ 0いいねをした人: 居ません2020年12月7日 12:18 PM #62451ということは、念の為確認ですが、
- 新刊情報 - 作家A - 作家B - キャンペーン - 作家A - 作家B - 特典情報 - 作家A - 作家B
とあって、「新刊情報の作家A」と「キャンペーンの作家B」にチェックがあるときは「新刊情報、キャンペーン」にチェック。
とあって、「新刊情報」と「キャンペーンの作家A」にチェックがあるときは「新刊情報、キャンペーン」にチェック。
とあって、「新刊情報」と「キャンペーンの作家A」と「特典情報」にチェックがあるときは「新刊情報、キャンペーン、特典情報」にチェック。ということであっていますか?
♥ 0いいねをした人: 居ません2020年12月7日 12:54 PM #62457ありがとうございます。
カテゴリの認識はそのとおりです。
出力に関しては自動化しなくても大丈夫でして、親カテゴリを必ずチェックしてもらうので、
「新刊情報」「新刊情報の作家A」と「キャンペーン」「キャンペーンの作家B」にチェックがあるときは「新刊情報、キャンペーン」が表示。「新刊情報」と「キャンペーン」「キャンペーンの作家A」にチェックがあるときは「新刊情報、キャンペーン」が表示。
「新刊情報」と「キャンペーン」「キャンペーンの作家A」と「特典情報」にチェックがあるときは「新刊情報、キャンペーン、特典情報」が表示という動きです。
よろしくお願いいたします。
♥ 0いいねをした人: 居ません2020年12月7日 2:42 PM #62470あーなるほど、理解しました。ということは逆に「親カテゴリーを引っ張ってきて表示する」とではダメってことですね。やるとするなら「親を持つカテゴリーは表示しない」ですかね。ちょっとコード書いてみます。
♥ 0いいねをした人: 居ません2020年12月7日 2:54 PM #62472これでどうでしょうか?
add_filter( 'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term', function( $args ) { // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } // 全ての設定されたカテゴリーを返す $terms = get_the_terms( get_the_ID(), 'category' ); $terms = array_map( function( $term ) { return isset( $term->parent ) && $term->parent ? false : $term; }, $terms ); $terms = array_filter( $terms, function( $term ) { return $term ? $term : false; }, ); $args['vars']['_terms'] = $terms; return $args; } );
♥ 0いいねをした人: 居ません2020年12月9日 7:16 AM #62634ありがとうございます!
見事実装できました。
ご返信遅くなってしまいもうしわけございませんでした。
恥ずかしながら全てを読み解くことができてはおりませんが、精進したいと思います。
1点、構文エラーが出ているのですが表示されているのであまり気にしておりませんが、ご報告させていただきます。86行目です。
本当にありがとうございました。
♥ 0いいねをした人: 居ません2020年12月9日 7:22 AM #62636あ!すみません、多分85行目のカンマだと思います。カンマを消してみてください!
♥ 0いいねをした人: 居ません2020年12月9日 7:26 AM #62637朝も早いですね!
消えました。ありがとうございます!
全て解決できたので、こちらでトピック閉じさせていただきます。
本当にありがとうございました。
♥ 1いいねをした人: 居ません -
投稿者投稿
- トピック「投稿一覧で、各投稿の親カテゴリのみを複数表示したい」には新しい返信をつけることはできません。