0

基本的に、ユーザーがログインしているときにのみ表示されるページがあり、カスタムの連絡先フォームがあります。フォームが送信されると、ユーザーの役割は自動的に「作成者」に変更されます。

私は本当にこれに苦労しているので、誰かが何かアイデアを持っているか、私を少し助けてくれるなら、文字通りどこから始めればいいのかわかりません.

編集

これは私が現在持っているもので、現時点ではメールを送信するだけです。

<?php
  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = trim(stripslashes($_POST['name']));
    $email = trim(stripslashes($_POST['email']));
    $subject = trim(stripslashes($_POST['subject']));
    $message = trim(stripslashes($_POST['message']));

    $email_from = $email;
    $email_to = 'email@email.com';

    $body = '<html><head></head><body>' .
            '<b>Name:</b> ' . $name . '<br><br>' .
            '<b>Email:</b> ' . $email . '<br><br>' .
            '<b>Nature of Enquiry:</b> ' . $subject . '<br><br>' .
            '<b>Message:</b> ' . nl2br($message) .
            '</body></html>';

    $headers = "From: " . strip_tags($email_from) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($email_from) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

    if( isset($_POST['checkbox']) ) {
      mail($email_to, $subject, $body, $headers);
      // Change user role to "author
      echo '<p>You are now an author.</p>';
    } else {
      echo '<p>It appears you are a spambot, if this is a mistake please try again and check the "I am not a spambot" checkbox.</p>';
    }
  }
?>

<form method="post" action="#">
  <label for="name">Name</label>
  <input type="text" id="name" name="name" value="<?php echo $name; ?>" required>

  <label for="email">Email Address</label>
  <input type="email" id="email" name="email" value="<?php echo $email; ?>" required>

  <label for="subject">Nature of Enquiry</label>
  <input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" required>

  <label for="checkbox">I am not a spambot</label>
  <input type="checkbox" id="checkbox" name="checkbox">

  <label for="message">Message</label>
  <textarea id="message" name="message" required><?php echo $message; ?></textarea>

  <button type="submit">Submit</button>
</form>
4

1 に答える 1

0

これは、クラスWP_Userとそのset_roleメソッドを使用することの問題です。

$user_id = 2;
$role_name = 'author';
$user = new WP_User( $user_id );
$user->set_role( $role_name );
于 2013-09-22T17:13:22.007 に答える