<html lang="ja-jp" dir="ltr"><head></head><body>### [wpforms_process_redirect_url](https://wpforms.com/developers/wpforms_process_redirect_url/)

**公開日:** 2021年2月17日
**著者:** エディトリアルチーム

**抜粋:** wpforms_process_redirect_urlフィルターは、フォーム送信時にリダイレクトに必要なURLをロードするために実行されます。

**コンテンツ:**

## 説明

`wpforms_process_redirect_url`フィルターは、フォーム送信時にリダイレクトに必要なURLをロードするために実行されます。

## パラメータ

$url*(string)* リダイレクト先のURL。
$form\_id*(int)* フォームID。
$form\_data*(array)* 後で使用するために処理されたフォームの設定/データ。
$fields*(array)* サニタイズされたフィールドデータ。
$entry\_id*(int)* エントリID。

## ソース

`wpforms/includes/class-process.php`

## 詳細情報

フォーム送信後にリダイレクトに使用される`wpforms_process_redirect_url`フィルター。

## 例

この例では、フォームビルダーの設定でリダイレクト用にフォームを設定し、フォームの特定の質問に基づいて、回答に応じてユーザーを異なるURLにリダイレクトします。

このスニペットを使用する場合は、**設定**タブの**確認**セクションで、**確認タイプ**を**URLに移動（リダイレクト）**に設定することが重要です。詳細については、[こちらのドキュメントを参照してください](https://wpforms.com/how-to-redirect-users-after-a-wordpress-form-submit/ "WordPressフォーム送信後にユーザーを新しいページにリダイレクトする方法")。

```

/**
 * リダイレクトURL。
 *
 * @link https://wpforms.com/developers/wpforms_process_redirect_url/
 *
 * @param string     $url       リダイレクト先のURL。
 * @param int        $form_id   フォームID。
 * @param array      $form_data 処理されたフォームの設定/データ。
 * @param array      $fields    サニタイズされたフィールドデータ。
 * @param int        $entry_id  エントリID。
 *
 * @return string
 */

function wpf_dev_process_redirect_url( $url, $form_id, $fields, $form_data, $entry_id ) {

// ID = 879 の私のフォームでのみ実行します。
    if ( absint( $form_data[ 'id' ] ) !== 879 ) {
        return $url;
    }
	// 部屋番号を表示するチェックボックスフィールドを変数に割り当てます
	$room_number = $fields[4][ 'value' ]; 

	if ($room_number === "Room A") {

		// Room Aの情報が含まれるページにリダイレクトします
		$url = 'http://myexamplesite.com/room-a-info';
	}
	    elseif ($room_number === "Room B") {

			// Room Bの情報が含まれるページにリダイレクトします
			$url = 'http://myexamplesite.com/room-b-info';
		}
		    elseif ($room_number === "Room C") {

			// Room Cの情報が含まれるページにリダイレクトします
			$url = 'http://myexamplesite.com/room-c-info';
		}
	    else {

			// フォームビルダーの設定で設定されている現在のリダイレクトURLを維持します
			$url = $url;
		}

    return $url;
}
add_filter( 'wpforms_process_redirect_url', 'wpf_dev_process_redirect_url', 10, 5 );

このスニペットを使用すると、確認タブで設定したURLはすべて無視され、代わりにこのリダイレクトが使用されます。
ユーザーが Room A の予約を選択した場合、フォームは確認タブのフォームビルダーのリダイレクト設定からのURLを無視し、代わりに Room A に関する情報が含まれるURLにリダイレクトします。ループは各部屋のオプションを通じて継続し、最後の else でフォールバックがあり、フォームビルダー設定からの元のURLを維持します。
```

**カテゴリー:** フィルターフック

**タグ:** PHP

---</body></html>