🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

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

PHP

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

1回答

758閲覧

ACF(カスタムフィールド)の繰り返しフィールドの種類別に出力する方法が分かりません。

hirokuro900

総合スコア33

WordPress

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

PHP

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2019/12/07 11:06

WordPress有料プラグインのACF Pro(カスタムフィールド)の繰り返しフィールドについてです。

出力したいイメージです

文章だと分かりにくいので画像にしてみました。
スポーツの種類についてのQ&Aのページをカスタムフィールドで作成していまして
画像の左側のようにスポーツの種類別にQ&Aを表示したいです。

現在、ループを使いましてQ&Aをループ表示させることには成功しています。

PHP

1<?php if(have_rows('sports')): ?> 2 <?php while(have_rows('sports')): the_row(); ?> 3 <!-- スポーツの種類 --> 4 <h3>スポーツの種類</h3> 5 6 <div class="oneset"> 7 8 <!-- 質問 --> 9 <div class="question_style"> 10 <p class="question"><?php the_sub_field('question'); ?></p> 11 </div> 12 13 <!-- 答え --> 14 <div class="answer_style"> 15 <p class="answer"><?php the_sub_field('answer'); ?></p> 16 </div> 17 18 </div><!-- 一つの質問エリア[end] --> 19 <?php endwhile; ?> 20<?php endif; ?>

このコードだと毎回、スポーツの種類をh3タグで出力してしまいますので
一時的にh3タグは消しています。

画像の右側のようにスポーツの種類を入力する欄を作成いたしまして、
もしすでにその「スポーツの種類」が存在していればその「スポーツの種類」のゾーンの最後の行に質問と回答を追加して
「スポーツの種類」が存在していなければ<h3>と質問と回答を最後の行に追加して下さい。
とゆう感じで考えておりましてif文を使うまでは分かっているのですがif文の内容が分かりません..

PHP

1<?= if(同じスポーツの種類があれば): ?> 2 そのスポーツの種類の最後にQ&Aを追加 3<?= else: ?> 4 一番下の行にQ&Aを追加 5<?= endif; ?>

どなたか教えていただけないでしょうか?

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

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

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

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

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

guest

回答1

0

if文で出し分けるのではなく、繰り返しフィールドの入れ子にする形で対応できないでしょうか。

「スポーツの種類」の繰り返しフィールドを作成し、
その中に入れ子の形で「Q&A」の繰り返しフィールドを作成する形です。

そうすれば、h3タグの問題も解消できると思います。

投稿2019/12/07 14:13

yarn

総合スコア28

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問