編集フォームのドロップダウンメニューにすでに登録された値を表示する
前提・実現したいこと
WordPressを利用し、あるジャンルの話題を投稿できるSNS的なサービスを作っています。その投稿フローの中で、すでに登録されている情報(カスタムフィールド)を編集フォームのドロップダウンメニューに表示させる方法で苦戦しています。
問題が発生するまでの流れ・手順
▼投稿フォームの動作は以下の通りです
新規投稿の場合:[投稿フォーム] -> [プレビュー] -> [投稿完了ページ]
編集の場合:[投稿済み記事] -> [編集フォーム] -> [プレビュー] -> [編集完了ページ]
上記の[投稿フォーム]と[編集フォーム]は同じファイル(以下のコード)になります。
ソースコード
//すでに投稿されたカスタムフィールドをデータベースから取得
<?php
$fruits = get_post_meta( $post->ID , 'fruits' , true );
?>
//上記の値を代入し、カスタムフィールドがすでに登録されている場合とされていない場合に条件分岐
<?php
if (isset($fruits)){
$selected = $fruits;
}else{
$selected = "フルーツの種類";
}
?>
//フォームの内容
<p class="post-form__fruits">
<select name="fruits">
<option selected value="<?php echo $selected; ?>"><?php echo $selected; ?></option>;
<option value="フルーツの種類">フルーツの種類</option>
<optgroup label="柑橘類">
<option value="みかん">みかん</option>
<option value="グレープフルーツ">グレープフルーツ</option>