멀티사이트 회원가입 연동

안녕하세요, 코스모스팜에 다양한 플러그인을 개발해주셔서 감사합니다.

다름이 아니고 멀티사이트를 통한 사이트 구축 환경에 대해 코스모스팜 회원관리 연동과 관련하여 질문이 있습니다.

일단 멀티사이트를 활용한 홈페이지 호스팅 관련 플러그인으로 wpultimo라는 플러그인을 사용하여 홈페이지 서비스를 제공하려고 제작중에 있습니다.

과정은 이렇습니다.

특정 가입 주소로 들어가게 되면은
(pdskorea.net/register)  스텝 바이 스텝을 통해서 몇 몇 과정 이후에 회원가입을 진행하게 됩니다. 

이때 회원가입을 같이 통틀어서 하게 되는데요, 따로 wp-member(코스모스팜 회원가입) 을 통해 따로 프론트에서 진행 후 사이트 가입을 애초에 구상하였으나,

이후 확인결과 적용이 되지 않았습니다. 

문의를 해본결과

 

We do not have any kind of integration with Wp-Member so I'm afraid it is not possible to have that kind on of structure. 

WP Ultimo comes with a built in registration and sign up process. Each time a potential client registers, it automatically create a user account along with the subsite for that particular user.

우리는 Wp-Member와 어떤 종류의 통합도 가지고 있지 않기 때문에 나는 그러한 구조를 갖는 것이 불가능할 것 같다.  WP 울티모는 등록과 등록 절차가 내장되어 있다. 잠재 클라이언트가 등록할 때마다, 그것은 그 특정 사용자에 대한 하위 사이트와 함께 사용자 계정을 자동으로 생성한다.

라고 답변이 왔습니다.

그래서 내장이 되어있다면 어떤 함수와 메타키워드를 통해 데이터베이스에 입력을 할텐데 이부분만 호환시킨다면 해결될 문제가 아닐까 싶어 찾아보니 

<?php
/**
 * The Template for displaying the signup flow for the end user
 *
 * This template can be overridden by copying it to yourtheme/wp-ultimo/signup/signup-header.php.
 *
 * HOWEVER, on occasion WP Ultimo will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @author      NextPress
 * @package     WP_Ultimo/Views
 * @version     1.4.0
 */

if (!defined('ABSPATH')) {
  exit; // Exit if accessed directly
}

do_action('wu_signup_enqueue_scripts');

/**
 * Enqueue some much needed styles
 */
// add_action('wp_print_scripts', array($signup, 'print_logo'));

$suffix = WP_Ultimo()->min;

/**
 * TODO: Move all of this mess of script declaring to the signup class or the scripts class
 * @since 1.9.0
 */
wp_enqueue_script('jquery-blockui');
wp_enqueue_script('wu-pricing-table');
wp_enqueue_script('wp-ultimo');

wp_enqueue_style('admin-bar');
wp_enqueue_style('wu-signup', WP_Ultimo()->url("assets/css/wu-signup$suffix.css"), array('dashicons', 'install'));

// Do not get the login if the first step
if ($signup->step != 'plan') wp_enqueue_style('login');

// Our custom CSS
if (!WU_UI_Elements()->has_admin_theme_active()) {
  wp_enqueue_style('wu-login');
}

wp_enqueue_style('wu-shortcodes');
wp_enqueue_style('common');

?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>

  <head>
    <meta name="viewport" content="width=device-width" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>
      <?php echo apply_filters('wu_signup_page_title', sprintf(__('%s - Signup', 'wp-ultimo'), get_bloginfo('Name'), get_bloginfo('Name'))); ?>
    </title>

    <?php // Signup do action, like the default ?>
    <?php do_action('signup_header'); ?>
    <?php do_action('login_enqueue_scripts'); ?>
    <?php do_action('admin_print_scripts'); ?>
    <?php do_action('admin_print_styles'); ?>
    <?php do_action('wu_signup_enqueue_scripts'); ?>

    <?php do_action('admin_head'); ?>

  </head>

  <body class="login wp-core-ui">

    <div class="wu-setup">

    <?php

    /**
     * Fires right after the start body tag is printed
     * @since 1.6.2
     */
    do_action('wu_signup_header'); ?>

      <div id="login">

        <h1 id="wu-setup-logo">
          <a href="<?php echo get_site_url(get_current_site()->blog_id); ?>">
            <?php printf(__('%s - Signup', 'wp-ultimo'), get_bloginfo('Name')); ?>
          </a>
        </h1>

        <?php
        
        /**
         * Fires before the site sign-up form.
         */
        do_action('wu_before_signup_form');

        /**
         * Get the actual view for that step
         */
        $signup->get_step_view($signup->step);
        
        /**
         * Fires after the sign-up forms, before signup-footer
         */
        do_action('wu_after_signup_form');

        ?>

        <?php
        /**
         * Nav Links
         */
        wu_get_template('signup/signup-nav-links', array('signup' => $signup)); ?>

      </div> <!-- /login -->

      <?php
      /**
       * Navigation Steps
       */
      wu_get_template('signup/signup-steps-navigation', array('signup' => $signup)); ?>

      <?php
      /**
       * Fires right after the start body tag is printed
       * @since 1.6.2
       */
      do_action('wu_signup_footer'); ?>

      <?php 
      /**
       * We also need to print the footer admin scripts, to make sure we are enqueing some of the scripts dependencies
       * our scripts need in order to function properly
       */
      do_action('admin_print_footer_scripts'); ?>

    </div>

  </body>

 

관련하여 찾았고 

 

UPDATE: Though I haven't done anything with it yet, I have found 2 functions in the WP Ultimo plugin that may just solve my issue. These are wu_create_user and wu_create_site.

I think this along with some custom page to show pricing and plans (maybe override the links from existing short codes), may handle my situation.

 

WP 울티모 플러그인에서 내 문제를 해결할 수 있는 두 가지 기능을 찾았다. wu_create_user 및 wu_create_site.... 나는 이것이 가격과 계획을 보여주기 위한 몇몇 사용자 지정 페이지와 함께 내 상황을 처리할 수 있다고 생각한다.

 

라는 포럼 내 글이 있었습니다.

 

이런 경우 어떤 방식으로 연동이 가능할까요?

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    테마 쪽 기능으로 회원가입한 사용자를 코스모스팜 회원관리 플러그인과 연동되게 하고 싶으신 건지요?

    코스모스팜 회원관리 플러그인과 WP-Members 플러그인은

    워드프레스 사용자를 기본으로 동작하기 때문에

    다른 플러그인과도 함께 사용이 가능합니다.

    실제 회원가입 및 로그인 기능은 WP-Members 쪽에 있습니다.

    코스모스팜 회원관리 플러그인으로 가입된 회원은 워드프레스의 사용자로 등록이 됩니다.

     

    구조를 설명드리자면, 워드프레스 사용자가 중심에 있고 플러그인들이 그 주변에 있다고 보시면 됩니다.

    코스모스팜 회원관리 플러그인도 수많은 다른 플러그인중 하나입니다.

    코스모스팜 회원관리 <-> 워드프레스 사용자 <-> 다른 플러그인

    이와 같은 구조이기 때문에 회원의 기본 정보는 모두 공유가 됩니다.

     

    다만, WP-Members 플러그인에서 설정으로 추가한 회원정보 필드나

    테마나 다른 플러그인에서 별도의 기능으로 회원가입할 경우 연동이 되지 않을 수도 있습니다.

    고맙습니다.

  • 그러면 맨마지막 내용기반으로 다시 질문드립니다.
     

    , WP-Members 플러그인에서 설정으로 추가한 회원정보 필드나

    테마나 다른 플러그인에서 별도의 기능으로 회원가입할 경우 연동이 되지 않을 수도 있습니

     

    따로 그러면 wp-members 랑 별도기능을 제공하는 기능이랑 연동할 수 있는 방법은 없을까요?

    db 중계기를 둔다던가..

  • 말씀하신 wpultimo 플러그인으로 회원가입 시

    워드프레스 사용자로 등록이 되지 않는지요?

    WP-Members 플러그인은 워드프레스 사용자를 기반으로 동작하기 때문에

    wpultimo 플러그인도 워드프레스 사용자를 기반으로 동작한다면

    회원가입 시 입력한 정보가 연동됩니다.

     

    만약, wpultimo 플러그인에서 워드프레스 사용자 기본을 따르지 않고

    별도의 테이블을 두어 사용자 정보를 저장하고 있다면

    해당 플러그인 제작자에게도 좋은 방법이 있을지 문의해보셔야 할 듯합니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기