web-dev-qa-db-ja.com

プラグイン開発:フォームを作成してカスタムデータを取得する方法

私は予約プラグインを開発しています、そして私は助けが必要です。

私の目的は、WordPressの管理メニューからデータベースとの間でデータをやり取りすることです(私はそれ用のカスタムメニューページを作成しました)。今、私はフォームがWordPress環境のPHPスクリプトにどのように送信されるべきかわからない。

<!-- HTML FORM -->
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
    <input type="text" name="reservation_capacity" placeholder="Reservation Capacity" />
    <input type="button" name="Add Table" value="Add New Table" />
</form>

また、プラグインがWebサイト上にフォームを作成し、それらからデータを取得する方法についても支援が必要です。

2
Arsalan Amjid

フォームデータの処理の詳細はPHPに固有のものなので、ここでは説明しません。 WordPress固有の部分は、WordPressの機能やグローバル(ユーザーのパーミッションなど)にアクセスするために、コードを 'init'イベントで実行することです。

<?php add_action('init', function(){
    $reservation_capacity = sanitize_text_field( $_POST['reservation_capacity'] );
    update_user_meta( get_current_user_id(), 'reservation_capacity', $reservation_capacity );
}); ?>

これは、フォームの値をユーザーのメタデータベースに保存する例に過ぎません(実際にはおそらく使用しないでしょう)。 sanitize_text_field は、入力値をサニタイズするためのWP固有の関数の1つです。 get_current_user_id は、ユーザーがログインしている場合、initの後に使用可能になります。

トピックの詳細:

1
Jan Beck