function display_question_list() {
global $wpdb;
$table_question = $wpdb->prefix . 'question';
//
$results = $wpdb->get_results(
$wpdb->prepare("SELECT * FROM $table_question", ARRAY_A);
);
if ( empty($results) ) {
echo 'データがありません';
return;
} else {
?>
<div>
<h1>QUESTIONS</h1>
<table>
<tr>
<th>id</th><th>text</th>
</tr>
<?php foreach ( $results as $result ) : ?>
<tr>
<td><?php echo esc_html($result['id']); ?></td>
<td><?php echo esc_html($result['id']); ?></td>
</tr>
</table>
</div>
<?php
}
}
// リダイレクトした後に削除完了メッセージを表示
if ( isset($_GET['deleted']) && $_GET['deleted'] == 'true' ) {
echo '<p>データが削除されました</p>';
}
// 管理者ならば削除処理を行いリダイレクトする
if ( isset($_GET['delete_id']) && is_numeric($_GET['delete_id']) ) {
if ( current_user_can('manage_options') ) {
$wpdb->delete($table_name, ['id' => intval($_GET['delete_id'])]);
wp_redirect(admin_url('admin.php?page=user_answer&deleted=true'));
exit;
}
}
...
<td>
<a href="<?php echo esc_url(admin_url('admin.php?page=user_answer&delete_id='.$result['id'])); ?>">削除</a>
</td>