it-swarm.com.de

WordPress Plugin zur einmaligen Eventregistrierung?

Ich baue eine Website für eine Wohltätigkeitsveranstaltung auf und möchte, dass sich Leute für diese Veranstaltung anmelden.

Das Formular sollte Namen, E-Mail und andere benutzerdefinierte Fragen enthalten. Ich möchte auch eine Seite, auf der die registrierten Personen aufgelistet werden. Ich dachte daran, das Benutzersystem + ein Plugin zum Auflisten der Benutzerliste zu verwenden.

Welche Plugins würden Sie verwenden?

Vielen Dank.

2
Gabriel Solomon

Hallo Solomongaby:

Formen

Für das Formular würde ich vorschlagen, GravityForms zu verwenden. Das Entwerfen und Veröffentlichen eines Formulars ist kinderleicht. Hier ist ein Beispielformular, das wir für die Anforderung eines Präsentators erstellt haben .

GravityForms kostet 39 US-Dollar pro Server, aber wenn Sie fragen, sind sie möglicherweise bereit, einer Wohltätigkeitsorganisation eine kostenlose Kopie zu geben?

Anmeldung

Ich würde wahrscheinlich nur empfehlen, EventBrite zu verwenden, wie wir es getan haben für unsere WordPress Business Konferenz .

EventBrite kann kostenlos verwendet werden, wenn Ihre Veranstaltung kostenlos ist und die Gebühren den Mangel an Kopfschmerzen wert sind, wenn Sie Gebühren erheben. Die Verwendung von EventBrite (oder eines ähnlichen Dienstes) ist sehr viel einfacher als der Versuch, etwas in WordPress für ein einmaliges Ereignis zu implementieren.

Ich habe einen Shortcode geschrieben, um die Anzeige zu vereinfachen (Sie können den Code in die functions.php-Datei Ihres Themas einfügen). Hier ist der Prototyp für den Shortcode:

[eventbrite src="{event_url}" width="{width}" height="{height}"]

Und so sah der verwendete Shortcode aus ( stellen Sie sicher, dass Sie Ihre eigene Ereignis-URL ersetzen ):

[eventbrite src="http://www.eventbrite.com/tickets-external?eid=582216425&ref=etckt" width="620" height="500"]

Und zum Schluss hier der PHP Quellcode für den Kurzcode:

<?php
add_shortcode('eventbrite', 'eventbrite_show_widget');

function eventbrite_show_widget($args) {
  $valid_types = array('ticket-form',);
  $div_style = 'border:1px solid black;color:white;background:red;padding:10px;';
  $default = array(
    'type' => 'ticket-form',
    'url' => '',
    'src' => '',
    'width' => '100%',
    'height' => '500',
  );
  $args = array_merge($default,$args);
  extract($args);
  if (empty($url) && empty($src)) {
    $html =<<<HTML
<div style="$div_style">
<p>The "eventbrite" shortcode much have an attribute of either "<b><i>src</i></b>" or "<b><i>url</i></b>", i.e.:</p>
<ul>
<li>[eventbrite type="ticket-form" <b><i>src</i></b>="http://www.eventbrite.com/tickets-external?eid=582216425&ref=etckt"]</li>
<li>[eventbrite type="ticket-form" <b><i>url</i></b>="http://www.eventbrite.com/tickets-external?eid=582216425&ref=etckt"]</li>
</ul>
</div>
HTML;
  } else if (!empty($url) && !empty($src)) {
    $html =<<<HTML
<div style="$div_style">
You should only the "<b><i>src</i></b>" attribute or the "<b><i>url</i></b>" attribute when using the "eventbrite" shortcode.
</div>
HTML;
  } else if (!in_array($args['type'],$valid_types)) {
    $valid_types = implode('</b></i>"</li><li>"<i><b>',$valid_types);
    $html =<<<HTML
<div style="$div_style">
<p>When using the "eventbrite" shortcode you must specifiy an attribute of "<b><i>type</i></b>" with one of the following valid values:</p>
<ul><li>"<i><b>$valid_types</b></i>"</li></ul>
<p>i.e.:</p>
<ul>
<li>[eventbrite <b><i>type</i></b>="<b><i>ticket-form</i></b>" src="$url$src"]</li>
</ul>
</div>
HTML;
  } else  {
  $html = <<<HTML
<div id="eventbrite">
  <iframe src="$src$url" width="$width" height="$height" allowtransparency="true" scrolling="auto"></iframe>
</div>
HTML;
  }
  return $html;
}
3
MikeSchinkel

schauen Sie sich EventExpresso (http://eventespresso.com/) an, das sowohl eine kostenpflichtige als auch eine kostenlose Version bietet. Das sollte alles tun, was Sie brauchen.

3
Norcross

Sie können das Standard-Registrierungsformular für WordPresss-Benutzer so ändern, dass mehr Daten als der übliche Benutzername und die übliche E-Mail-Adresse erforderlich sind.

add_action('register_form','my_show_extra_fields');
add_action('register_post','my_check_fields',10,3);
add_action('user_register','my_register_extra_fields',10,3);

function my_show_extra_fields(){
    ?>
    <style>
    #user_first, #user_last, #hzip {
      background:none repeat scroll 0 0 #FBFBFB;
      border:1px solid #E5E5E5;
      font-size:24px;
      margin-bottom:16px;
      margin-right:6px;
      margin-top:2px;
      padding:3px;
      width:97%;
    }
    </style>
    <p><label>First Name<br/>
      <input id="user_first" type="text" tabindex="20" size="25" value="<?php echo $_POST['first']; ?>" name="first"/>
      </label></p>
    <p><label>Last Name<br/>
      <input id="user_last" type="text" tabindex="20" size="25" value="<?php echo $_POST['last']; ?>" name="last"/>
      </label></p>
    <p><label>Home Zip Code<br/>
      <input id="hzip" type="text" tabindex="20" size="25" maxlength="10" value="<?php echo $_POST['hzip']; ?>" name="hzip"/>
      </label></p>
    <?php
}

function my_check_fields($login, $email, $errors) {
  global $firstname, $lastname, $hzip;
  if ($_POST['first'] == '') {
    $errors->add('empty_realname', "<strong>ERROR</strong>: Please enter first name");
  } else {
    $firstname = $_POST['first'];
  }
  if ($_POST['last'] == '') {
    $errors->add('empty_realname', "<strong>ERROR</strong>: Please enter last name");
  } else {
    $lastname = $_POST['last'];
  }
  if ($_POST['hzip'] == '') {
    $errors->add('empty_hzip', "<strong>ERROR</strong>: Please enter home Zip Code");
  } else {
    $hzip = $_POST['hzip'];
  }
}

function my_register_extra_fields($user_id, $password="", $meta=array())  {
  $userdata = array();
  $userdata['ID'] = $user_id;
  $userdata['first_name'] = $_POST['first'];
  $userdata['last_name'] = $_POST['last'];
  wp_update_user($userdata);
  update_usermeta( $user_id, 'hzip', $_POST['hzip'] );
}

add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );

function my_show_extra_profile_fields( $user ) {
  $current_hzip = esc_attr( get_the_author_meta( 'hzip', $user->ID ) );
    ?>
    <h3>Extra profile information</h3>
    <table class="form-table">
      <tr>
        <th><label for="hzip">Home Zip Code</label></th>
        <td>
          <input type="text" name="hzip" id="hzip" size="10" maxlength="10" value="<?php echo $current_hzip ?>" class="regular-text" />
        </td>
      </tr>
    </table>
    <?php
}

add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );

function my_save_extra_profile_fields($user_id) {
  if ( !current_user_can('edit_user', $user_id) ) {
    return false;
  }
  update_usermeta( $user_id, 'hzip', $_POST['hzip'] );
}

Tragen Sie das Obige in Ihren functions.php ein.

Ein fantastisches Plugin zum Anzeigen anpassbarer Benutzerlisten ist AmR User Lists

( Bearbeiten: Benutzerregistrierungsmaterial hinzugefügt.)

( Edit 2: Benutzerdefinierte Daten hinzugefügt, die normalerweise nicht von WordPress gespeichert werden.)

2
Doug

Oder nutzen Sie BuddyPress, mit all diesen Funktionen und mehr nach dem Anpassen

2
bueltge