-1
私がしたいことは、ユーザーがリンクを送信できるページにサブミットフィールドを持ち、成功したサブミット後にユーザーがページを登録するようにリダイレクトされ、彼のプロフィールにこれはどのように可能ですか?これを行うプラグインはおそらく? Thans!何かが助けになるでしょう!Wordpressユーザーリンク投稿
私がしたいことは、ユーザーがリンクを送信できるページにサブミットフィールドを持ち、成功したサブミット後にユーザーがページを登録するようにリダイレクトされ、彼のプロフィールにこれはどのように可能ですか?これを行うプラグインはおそらく? Thans!何かが助けになるでしょう!Wordpressユーザーリンク投稿
流れは次のようにされています
$_POST
$_POST
から事前入力して
<input type="hidden">
フィールド
wp_user_create
とadd_user_meta
関数を使用してプロファイルを設定しますe。私は、プラグインを使用することは残念ですが、特にWPプラグインは通常非常に高品質ではないと主張します。
これは検証なしのベアボーンの例です。そのまま使用しないでください。
<?php
/**
* Template Name: Custom registration
*/
// If the link info is missing, go back to the link submission page
$link = false;
if (!isset($_POST['user_submitted_link']) || !isset($_POST['user_link'])) {
wp_redirect('/link-submission-page');
} else {
$link = isset($_POST['user_submitted_link']) ? $_POST['user_submitted_link'] : $_POST['user_link'];
}
// If the registration form was submitted
// the $_POST['user_link'] will be set and we can
// register the user
if (isset($_POST['user_link'])) {
$new_user = wp_create_user($_POST['email'], $_POST['password'], $_POST['email']);
if ($new_user) {
add_user_meta($new_user, 'user_link', $_POST['user_link']);
// User account is created, you can redirect to login or do whatever here
}
}
// Render the registration form if we have a $link
if ($link) : ?>
<form action="<?php the_permalink(); ?>" method="POST">
<input type="email" name="email">
<input type="password" name="password">
<input type="hidden" name="user_link" value="<?= $_POST['user_submitted_link']; ?>">
<button>Register</button>
</form>
<?php endif;
これはカスタムページテンプレートです。 custom-register.php
または何かをテーマフォルダに保存し、WPで新しいページを作成し、右側のページテンプレートドロップダウンを使用してこの「カスタム登録」テンプレートを選択します。
これを行うには、リンク提出ページでuser_submitted_link
という名前のフィールドに値を送信する必要があります。
これで十分です。テストされていないコードです。保証はありません。
ありがとうございます!私はそれに取り組んだ。私は後でそれがある場合、あなたは忠実な質問をすることができますか? –