メニューページの中身

WordPress

問題リストの取得

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>
BACK