背景:私はそれにフォームを含むwordpressプラグインを開発しました。フォームに記入するのが面倒な場合、ユーザーに通知する方法が必要です。私の最初の傾向はPHPのセッション変数でした。プラグインにさまざまなコードを追加して、ヘッダーの先頭にあるsession_start()
を含めてこの作業を行いました。だから、私はユーザーにメッセージを表示するための最良の方法について研究を始めました。Wordpress - フロントエンドユーザーに「Flash Messages」を使用する最良の方法
私はPHPのセッションへの代替手段として、クッキーを使用することができますが、私の質問は次のとおりです。
のWordpressの内側のフロントエンドメッセージを設定する最良の方法は何ですか?私はあなたにワードプレスを心から慣れています。私はWordpressのグローバル変数について聞いたことがありますか? Wordpressはどこにでもアクセスできる設定可能なグローバル変数のようなものを提供していますか?それはうまくいくでしょう。 (私はこれを膨らませることが嫌な)いくつかのプラグインがありますか?クッキーは最善のルートですか?ここで
は私が達成しようとしているものを示すことができるコードのスニペットです:
フロントエンドフォーム(ショート)
<form method='POST'class="kb_donation_form" action="<?= plugins_url() ?>/kb-donations/includes/handler.php">
<div class="form-group">
<label for="kb_first_name">First Name</label>
<input type="text" class="form-control" id="kb_first_name" name="kb_first_name" placeholder="First Name">
</div>
<div class="form-group">
<label for="kb_last_name">Last Name</label>
<input type="text" class="form-control" id="kb_last_name" name="kb_last_name" placeholder="First Name">
</div>
<div class="form-group">
<label for="kb_email">Email</label>
<input type="email" class="form-control" id="kb_email" name="kb_email" placeholder="Email Address">
</div>
<div class="form-group">
<label for="kb_grad_year">Graduation Year</label>
<select id="kb_grad_year" name="kb_grad_year" class="form-control">
<option value="friend">I am just a friend.</option>
<option value="1950">1950</option>
</select>
</div>
<div class="form-group">
<label for="kb_donation_amount">Donation Amount</label>
<input type="text" class="form-control" id="kb_donation_amount" name="kb_donation_amount" placeholder="100.00">
</div>
<div class="form-group">
<input type="submit" name="submit" value="Make Donation" class="btn btn-default">
</div>
</form>
ポストハンドラコード:
if(isset($_POST['submit'])) {
if(
!empty($_POST['kb_first_name']) &&
!empty($_POST['kb_last_name']) &&
!empty($_POST['kb_email']) &&
!empty($_POST['kb_grad_year']) &&
!empty($_POST['kb_donation_amount'])
) {
// All Data Is Set
// Make sure email is valid format
$email = filter_var($_POST['kb_email'], FILTER_VALIDATE_EMAIL);
if(!empty($email)) { // ect.. ect..}
else {
// screw up
// Notify the user
// $_SESSION['error'] = 'You Screwed Up' === NEED ALTERNATIVE
}
フィードバックありがとうございます。それは感謝しています。これは私がWordpress用に開発した初めてのプラグインで、それ以来非常に大きくなっています。 – Radmation