Как использовать класс wpdb для отправки формы в панели управления администратора?

Я хочу создать плагин для администратора, чтобы написать его ежедневное сообщение на панели инструментов и отобразить его на своем веб-сайте. У меня есть два файла: dailymessage.php и messageform.php .

В dailymessage.php меня есть этот код:

 add_action( 'admin_menu', 'getMessage' ); function getMessage() { add_options_page( "DailyMessage", "DailyMessage", 1, "DailyMessage", "messageForm" ); } function messageForm() { include('messageForm.php' ); } 

И в messageform.php меня есть этот код:

 <form method="POST" action=""> <label for="adminMessage">Your Message : </label> <input id="adminMessage" type="text" name="adminMessage" placeholder="Your Message ..." /> <input type="submit" value="Submit" /> </form> <?php global $wpdb; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE messages ( id mediumint(9) NOT NULL AUTO_INCREMENT, message tinytext NOT NULL, ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); $wpdb->insert( "messages", array( "id" => null, "message" => $_POST['adminMessage'], ) ); ?> 

Код не работает, почему? Могу ли я написать свой код для обработки формы в файле формы, например, выше, или создать другую страницу?

Solutions Collecting From Web of "Как использовать класс wpdb для отправки формы в панели управления администратора?"

Если вы не хотите использовать Dashboard Widgets API вы можете использовать этот фрагмент кода, который я быстро придумал как отправную точку :

 function dashboard_daily_post_metabox() { add_meta_box( 'wt_id', 'Daily Post', 'dashboard_daily_post_process', 'dashboard', 'normal', 'high' ); } add_action( 'wp_dashboard_setup', 'dashboard_daily_post_metabox' ); function dashboard_daily_post_process() { global $wpdb; ?> <form method="post"> <label>Age <input type="text" name="wt_age" value="<?php echo $wpdb->prefix; ?>" /></label> <input type="submit" class="button-primary" value="Save" /> </form> <?php } 

Как вы видите, у вас есть доступ к глобальной переменной $wpdb и вы можете обрабатывать свой запрос по своему усмотрению.

Вы можете быстро протестировать этот код, сбросив его в файл functions.php вашей темы.