it-swarm-ko.tech

일회성 이벤트 등록을위한 WordPress 플러그인?

저는 자선 행사를위한 웹 사이트를 만들고 있으며, 사람들이이 행사에 등록하고 싶습니다.

양식에는 이름, 이메일 및 기타 사용자 정의 질문이 포함되어야합니다. 또한 등록 된 사람을 나열 할 수있는 페이지를 원합니다. 나는 사용자 목록을 나열하기 위해 사용자 시스템 + 플러그인을 사용할 것을 생각하고있었습니다.

어떤 플러그인을 사용 하시겠습니까?

감사.

2
Gabriel Solomon

안녕하세요 solomongaby :

양식

양식의 경우 GravityForms 을 사용하여 제안합니다. 양식을 디자인하고 게시하는 데 사용하기가 매우 쉽고 여기에 발표자가되기 위해 요청한 양식의 예 가 있습니다.

GravityForms는 서버 당 $ 39이지만 요청하면 자선 단체에 무료 사본을 제공 할 수 있습니까?

기재

아마도 EventBrite 우리가 한 것처럼 WordPress 비즈니스 컨퍼런스 .

EventBrite는 이벤트가 무료 인 경우 무료로 사용할 수 있으며 요금을 부과하는 경우 두통이 없을 정도로 가치가 있습니다. EventBrite (또는 유사한 서비스)를 사용하는 것은 일회성 이벤트를 위해 WordPress에서 무언가를 구현하는 것보다 훨씬 쉽습니다.

표시하기 쉽도록 shortcode 을 작성했습니다 (테마의 functions.php 파일에 코드를 넣을 수 있습니다). 단축 코드의 프로토 타입 사용법은 다음과 같습니다.

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

그리고 이것은 단축 코드가 사용중인 것처럼 보입니다 ( 자신의 이벤트 URL을 반드시 선택하십시오 ).

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

마지막으로 짧은 코드에 대한 PHP 소스 코드는 다음과 같습니다.

<?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

유료 버전과 무료 버전이 모두있는 EventExpresso (http://eventespresso.com/)를 확인하십시오. 그렇게하면 필요한 모든 것을 처리해야합니다.

3
Norcross

일반 WordPress 사용자 등록 양식을 수정하여 일반적인 사용자 이름 + 전자 메일 주소보다 많은 데이터가 필요할 수 있습니다.

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'] );
}

functions.php에 위 내용을 넣으십시오.

사용자 정의 목록을 표시하는 환상적인 플러그인은 AmR 사용자 목록 입니다.

( 편집 : 사용자 등록 정보를 추가했습니다.)

( 편집 2 : WordPress에서 일반적으로 저장하지 않은 사용자 정의 데이터를 추가했습니다.)

2
Doug

BuddyPress를 사용하고, 커스터마이징 후 모든 기능을 포함하고 있습니다.

2
bueltge