foreachループが2つあります。最初はWordpressからたくさんの質問を取得し、2番目は複数の回答を取得することになっています。質問のランダム化が含まれていなければ、これは簡単で、混乱を招きます。
これは、ランダム化されていない2つのforeachループです。
<?php
$repeater = get_field('step_by_step_test');
foreach( $repeater as $repeater_row ){ ?>
<p><?php echo $repeater_row['question']; ?></p>
<?php $rows = $repeater_row['answer_options'];
foreach ($rows as $row){ ?>
<?php echo $row['answer']; ?><br />
<?php } ?>
<?php } ?>
これは各質問をループし、複数の回答も取得します。
質問をランダム化して組み込むにはどうすればよいですか?これは私の試みです。これはランダムな質問のセットを取得するために機能しますが、回答の部分でエラーが発生します(foreachに無効な引数が指定されています)。
<?php
$amount = get_field('select_number_of_questions');
$repeater = get_field('step_by_step_test');
$random_rows = array_rand( $repeater, $amount );
echo implode(', ', $random_rows);
foreach( $random_rows as $repeater_row ){ ?>
<p><?php echo $repeater[$repeater_row]['question']; ?></p>
<?php $rows = get_sub_field('answer_options');
foreach ($rows as $row){ ?>
<?php echo $row['answer']; ?><br />
<?php } ?>
<?php } ?>
私はこのプラグインをワードプレスに使用しています-http ://www.advancedcustomfields.com/