2

私はシンプルなフォームを持っています。別のページにリダイレクトするには、別のプロモーション コードが必要です。例: 1234 は example.com に送信されます。2323 から newwebsite.com に送信されます。フォームとphpを使用してこれを行う方法は理解していますが、クライアントがコードを入力してリダイレクトできるようにする必要があります。私が必要とすることを行うプラグインはないようでした。私はグラビティ フォームを使用していますが、それでもクライアントはテンプレート ファイルを編集する必要があります。これが私のコードです:

    <form action="switch.php" method="post">
    <input type="text" name="codes" id="codes" />
    <input type="submit" /> 

    <?php $i = $_POST; ?>
    <?php switch($_POST['codes']) {
        case "1234":
             header("Location: http://www.myfoursquare.net/archives");
            break;
        case "2222":
           header("Location: http://www.myfoursquare.net/archives");
            break;
        case "3333":
              header("Location: http://www.myfoursquare.net/archives");
            break;
            }
    ?></form> 

これは意図したとおりに機能します。このワードプレスをクライアントにとって使いやすいものにする方法がわかりません。ありがとう。

4

1 に答える 1

0

特定のページ テンプレートが選択されている場合にのみ表示されるメタ ボックスを追加できます。その中に、ユーザーが一連のCode + Redirect URLを入力する繰り返し可能なフィールドがいくつかあります。

次に、テンプレート ページでは、次のようになります。

# Gets the array of CODE/URL pairs
$all_codes = get_post_meta( $post->ID, 'all_codes', true );
# Get the URL correspondent to the posted 'codes'
$redirect = $all_codes[ $_POST['codes'] ];
# Do the redirect
header("Location: $redirect");

の構造は$all_codes、メタ ボックスの実装方法に大きく依存します。
この検索クエリには、メタ ボックスの多くの例があります。
そして、これは繰り返し可能なフィールドを扱う他の方法です。

プラグインAdvanced Custom Fieldsはこれらすべてを自動化し、繰り返し可能な機能はプレミアム アドオンです。カスタム コンテンツ タイプ マネージャーには、この機能が組み込まれています。

PS:すべてのユーザー入力を常に検証してサニタイズすることが重要です

于 2013-11-01T20:24:32.457 に答える