詳細画面の項目を追加する

WordPress

これまでに追加した項目を編集画面で自由に編集ができるようになりました。

次は詳細画面の項目を追加し、表示項目を合わせようと思います。
改修したソースは以下のようになります。


/**
 * 詳細表示
 */
function detail()
{
	//押されたボタンのIDを取得する
	if (array_search("詳細", $_REQUEST["submit"]["detail"])) {
		$form_id = array_search("詳細", $_REQUEST["submit"]["detail"]);
	}

	//データ一覧
	echo <<< EOL
<form action="" method="post">
<h2>データ詳細</h2>

EOL;

	global $wpdb;

	$tbl_name = $wpdb->prefix . 'sample_mst';
	$sql = "SELECT * FROM {$tbl_name} WHERE id = %d;";
	$prepared = $wpdb->prepare($sql, $form_id);
	$rows = $wpdb->get_results($prepared, ARRAY_A);

	$sample_name = $rows[0]["sample_name"];
	$sample_text  = $rows[0]["sample_text"];
	$sample_check  = $rows[0]["sample_check"];
	$sample_radio  = $rows[0]["sample_radio"];
	$sample_select  = $rows[0]["sample_select"];
	$sample_textarea = $rows[0]["sample_textarea"];

	$create_date = $rows[0]["create_date"];

	echo <<<EOL

<div class="wrap">

<table class="wp-list-table widefat striped posts">
	<tr>
		<td>ID</td>
		<td>{$form_id}</td>
	</tr>

	<tr>
		<td>NAME</td>
		<td>{$sample_name}</td>
	</tr>

	<tr>
		<td>テキスト</td>
		<td>{$sample_text}</td>
	</tr>
	<tr>
		<td>チェック</td>
		<td>{$sample_check}</td>
	</tr>
	<tr>
		<td>ラジオ</td>
		<td>{$sample_radio}</td>
	</tr>
	<tr>
		<td>セレクト</td>
		<td>{$sample_select}</td>
	</tr>
	<tr>
		<td>テキストエリア</td>
		<td>{$sample_textarea}</td>
	</tr>

	<tr>
		<td>登録日時</td>
		<td>{$create_date}</td>
	</tr>
</table>

</div>

<input type="hidden" name="form_id" value="{$form_id}">

<input type='submit' name='submit[delete_check]' class='button-primary' value='削除確認する' />
<input type='submit' name='submit[]' class='button-primary' value='戻る' />
EOL;
	echo "</form>";
}

実行した画面は以下のようになります。

DBの内容をそのまま表示しているので、チェックボックス、ラジオボタン、セレクトボックスの箇所は工夫が必要になります。
何を出力させたいのか、を明確にして形づくるのがよいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です