やりたいこと
bbpressのトピック作成欄で、分岐項目(セレクトボックス)を作って
トピックの登録フォーラムを選択できるようにカスタマイズしたい。
(例)
親フォーラム 果物、野菜、お菓子
子フォーラム
(果物) りんご、メロン、みかん
(野菜) にんじん、たまねぎ、なす
(お菓子)チョコ、あめ、ガム
add_action ( 'bbp_theme_before_topic_form_content', 'bbp_extra_fields'); function bbp_extra_fields() { $category = "カテゴリー"; echo $category; // 親フォーラムのセレクトボックスを表示 ?> <select class="forums" name="forum" style="height:30px;padding-top:0;color:black;"> <option value="" disabled style="display:none;" <?php if($_POST['forum']=='0') echo 'selected'; ?>>選択してください</option> <option value="1" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '1' ? 'selected' : ''; ?>>果物</option> <option value="2" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '2' ? 'selected' : ''; ?>>野菜</option> <option value="3" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '3' ? 'selected' : ''; ?>>お菓子</option> </select> //子フォーラムのセレクトボックスを表示 <?php if($_POST['forum']=='1'){ echo '>>>'; $_POST['forum']='00'; ?> <select class="forums" name="forum" style="height:30px;padding-top:0;color:black;"> <option value="" disabled style="display:none;" <?php if($_POST['forum']=='00') echo 'selected'; ?>>選択してください</option> <option value="11" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '11' ? 'selected' : ''; ?>>りんご</option> <option value="12" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '12' ? 'selected' : ''; ?>>メロン</option> <option value="13" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '13' ? 'selected' : ''; ?>>みかん</option> </select> <?php } if($_POST['forum']=='2'){ $_POST['forum']='00'; echo '>>>'; ?> <select class="forums" name="forum" style="height:30px;padding-top:0;color:black;"> <option value="" disabled style="display:none;" <?php if($_POST['forum']=='00') echo 'selected'; ?>>選択してください</option> <option value="21" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '21' ? 'selected' : ''; ?>>にんじん</option> <option value="22" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '22' ? 'selected' : ''; ?>>たまねぎ</option> <option value="23" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '23' ? 'selected' : ''; ?>>なす</option> </select> <?php } if($_POST['forum']=='3'){ $_POST['forum']='00'; echo '>>>'; ?> <select class="forums" name="forum" style="height:30px;padding-top:0;color:black;"> <option value="" disabled style="display:none;" <?php if($_POST['forum']=='00') echo 'selected'; ?>>選択してください</option> <option value="31" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '31' ? 'selected' : ''; ?>>チョコ</option> <option value="32" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '32' ? 'selected' : ''; ?>>あめ</option> <option value="33" <?php echo array_key_exists('forum', $_POST) && $_POST['forum'] == '33' ? 'selected' : ''; ?>>ガム</option> </select> <?php } if($_POST['forum']=='11'){ echo "子フォーラム「りんご」を選択しました。";} if($_POST['forum']=='12'){ echo "子フォーラム「メロン」を選択しました。";} if($_POST['forum']=='13'){ echo "子フォーラム「みかん」を選択しました。";} if($_POST['forum']=='21'){ echo "子フォーラム「たまねぎ」を選択しました。";} if($_POST['forum']=='22'){ echo "子フォーラム「にんじん」を選択しました。";} if($_POST['forum']=='23'){ echo "子フォーラム「なす」を選択しました。";} if($_POST['forum']=='31'){ echo "子フォーラム「チョコ」を選択しました。";} if($_POST['forum']=='32'){ echo "子フォーラム「あめ」を選択しました。";} if($_POST['forum']=='33'){ echo "子フォーラム「ガム」を選択しました。";} }
親フォーラムのセレクトボックスは表示され選択できますが、$_POST['forum']の値保持が出来ずに、
親フォーラムを選択後に子フォーラムのセレクトボックス自体が表示されません。
$_POST['forum']の値保持が出来ない原因が知りたいです。
もう一点、
$_POST['forum'] =='11' ? 'selected' : '';
の「?」にはどんな意味があるのでしょうか?
以上の回答、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー