웹 사이트 앞쪽 끝에 WordPress 사용자 등록 양식을 표시하는 방법은 무엇입니까?
-
-
내가 찾은 최고의 솔루션은 [Theme My Loginplugin] (http://wordpress.org/extend/plugins/theme-my-login/)입니다.Best solution i found is [Theme My Login plugin](http://wordpress.org/extend/plugins/theme-my-login/).
- 0
- 2011-02-24
- wyrfel
-
이 [Article] (http://digwp.com/2010/12/login-register-password-code/)는 자신의 프런트 엔드 등록/로그인/복원 암호 양식을 만드는 방법에 대한 훌륭한 자습서를 제공합니다.또는 플러그인을 찾고 있다면 이전에 사용한 적이 있고 추천 할 수 있습니다.-[Ajax 로그인/등록] (http://wordpress.org/extend/plugins/ajax-loginregister/)-[Ajax로 로그인] (http://wordpress.org/extend/plugins/login-with-ajax/)this [Article](http://digwp.com/2010/12/login-register-password-code/) provides a greate tutorial on how to create you own frontend register/login/restore password forms. or if you are looking for a plugin then i've used these before and can recomend them: - [Ajax Login/Register](http://wordpress.org/extend/plugins/ajax-loginregister/) - [Login With Ajax](http://wordpress.org/extend/plugins/login-with-ajax/)
- 0
- 2011-02-24
- Bainternet
-
Cosmolabs의 Cristian은 다음과 같은 소스 파일과 함께 훌륭한 [튜토리얼] (http://www.cozmoslabs.com/2010/05/31/wordpress-user-registration-template-and-custom-user-profile-fields/)을 게시했습니다.프런트 엔드 사용자 프로필,로그인 및 등록 템플릿을 구축 할 수있는 기능을 제공합니다.Cristian from Cosmolabs have post a great [tutorial](http://www.cozmoslabs.com/2010/05/31/wordpress-user-registration-template-and-custom-user-profile-fields/) with source files that give you the ability to build a front-end User Profile, Login and Register templates.
- 0
- 2011-02-24
- Philip
-
5 대답
- 투표
-
- 2012-01-30
TLDR; 테마에 다음 양식을 넣으십시오.
name
및id
속성이 중요합니다.& lt;form action="& lt;?phpecho site_url ( 'wp-login.php? action=register','login_post')? >"method="post"> & lt;inputtype="text"name="user_login"value="Username"id="user_login"class="input"/> & lt;inputtype="text"name="user_email"value="E-Mail"id="user_email"class="input"/> & lt;?php do_action ( 'register_form');? > & lt;inputtype="submit"value="Register"id="등록"/> & lt;/양식 >
처음부터 멋진 Wordpress 등록 양식 만들기 . 이것은 양식을 스타일링하는 데 많은 시간을 소비하지만 필요한 워드 프레스 코드에 대한 다음과 같은 매우 간단한 섹션이 있습니다.
<인용구>4 단계. WordPress
여기에는 멋진 것이 없습니다. 두 개의 WordPress 스 니펫 만 필요합니다. wp-login.php 파일에 숨겨져 있습니다.
첫 번째 스 니펫 :
& lt;?phpecho site_url ( 'wp-login.php? action=register','login_post')? >
및 :
& lt;?php do_action ( 'register_form');? >
수정 : 위의 코드 스 니펫을 어디에 넣을지 설명하기 위해 기사에서 마지막 부분을 추가했습니다. 양식 일 뿐이므로 모든 페이지 템플릿이나 사이드 바에 들어가거나 그것을 밖으로 단축하십시오. 중요한 섹션은 위의 스 니펫과 중요한 필수 필드가 포함 된
<인용구>form
입니다.최종 코드는 다음과 같습니다.
& lt; div style="display :none"> & lt;!-등록-> & lt; divid="등록 양식"> & lt; div class="title"> & lt; h1 > 계정 등록 & lt;/h1 > & lt; span > 가입하고 즐기세요! & lt;/span > & lt;/div > & lt;form action="& lt;?phpecho site_url ( 'wp-login.php? action=register','login_post')? >"method="post"> & lt;inputtype="text"name="user_login"value="Username"id="user_login"class="input"/> & lt;inputtype="text"name="user_email"value="E-Mail"id="user_email"class="input"/> & lt;?php do_action ( 'register_form');? > & lt;inputtype="submit"value="Register"id="등록"/> & lt; 시간/> & lt;p class="statement"> 비밀번호가 이메일로 전송됩니다. & lt;/p > & lt;/양식 > & lt;/div > & lt;/div > & lt;!-/등록->
정말 중요 이며
user_login
을name
으로,id
텍스트 입력의 속성; 이메일 입력도 마찬가지입니다. 그렇지 않으면 작동하지 않습니다.그것으로 끝났습니다!
TLDR; Put the following form into your theme, the
name
andid
attributes are important:<form action="<?php echo site_url('wp-login.php?action=register', 'login_post') ?>" method="post"> <input type="text" name="user_login" value="Username" id="user_login" class="input" /> <input type="text" name="user_email" value="E-Mail" id="user_email" class="input" /> <?php do_action('register_form'); ?> <input type="submit" value="Register" id="register" /> </form>
I found an excellent Tutsplus article on Making a fancy Wordpress Register Form from scratch. This spends quite a lot of its time on styling the form, but has the following fairly simple section on the required wordpress code:
Step 4. WordPress
There is nothing fancy here; we only require two WordPress snippets, hidden within the wp-login.php file.
The first snippet:
<?php echo site_url('wp-login.php?action=register', 'login_post') ?>
And:
<?php do_action('register_form'); ?>
Edit: I've added the extra final bit from the article to explain where to put the above code snippets - its just a form so it can go in any page template or sidebar or make a shortcode out of it. The important section is the
form
which contains the above snippets and the important required fields.The final code should look like so:
<div style="display:none"> <!-- Registration --> <div id="register-form"> <div class="title"> <h1>Register your Account</h1> <span>Sign Up with us and Enjoy!</span> </div> <form action="<?php echo site_url('wp-login.php?action=register', 'login_post') ?>" method="post"> <input type="text" name="user_login" value="Username" id="user_login" class="input" /> <input type="text" name="user_email" value="E-Mail" id="user_email" class="input" /> <?php do_action('register_form'); ?> <input type="submit" value="Register" id="register" /> <hr /> <p class="statement">A password will be e-mailed to you.</p> </form> </div> </div><!-- /Registration -->
Please note that it's really important, and necessary, to have
user_login
as aname
and as anid
attribute in your text input; the same is true for the email input. Otherwise, it won't work.And with that, we're done!
-
훌륭한 솔루션!간단하고 효율적입니다.하지만 그 스 니펫을 어디에 넣습니까?사이드 바에서?이 팁은 ajax 등록 양식에서만 작동하도록 솔기됩니다.Great solution ! Simple and efficient. But where do you put those snippets ? In a sidebar ? This tip seams to only work with an ajax registration form.
- 0
- 2014-03-17
- Fabien Quatravaux
-
@FabienQuatravaux에게 감사드립니다. 기사의 마지막 섹션을 포함하도록 답변을 업데이트했습니다.AJAX 양식은 필요하지 않습니다.`wp-login.php? action=register` 페이지에 제출하는 POST 양식 만 있으면됩니다.Thanks @FabienQuatravaux, I've updated the answer to include the last section of the article. There should be no need for an AJAX form - its just a POST form that submits to the `wp-login.php?action=register` page
- 1
- 2014-03-18
- icc97
-
- 2011-02-24
이 문서 는 자신의 프런트 엔드 등록/로그인을 만드는 방법에 대한 훌륭한 자습서를 제공합니다./복원 암호 양식.
또는 플러그인을 찾고 있다면 이전에 사용한 적이 있으며 추천 할 수 있습니다.
this Article provides a greate tutorial on how to create you own frontend register/login/restore password forms.
or if you are looking for a plugin then i've used these before and can recomend them:
-
- 2014-03-12
얼마 전에 프런트 엔드에 맞춤형 등록 양식을 표시하는 웹 사이트를 만들었습니다. 이 웹 사이트는 더 이상 라이브가 아니지만 여기에 스크린 샷이 있습니다.
다음은 내가 수행 한 단계입니다.
1) 모든 방문자가 설정> 일반> 멤버십 옵션을 통해 새 계정을 요청할 수있는 가능성을 활성화합니다. 이제 등록 페이지가 URL/wp-login.php?action=register
에 나타납니다.2) 사이트 프런트 엔드처럼 보이도록 등록 양식을 맞춤 설정합니다. 이것은 더 까다 롭고 사용중인 테마에 따라 다릅니다.
다음은 이십 삼 명의 예입니다.
// include theme scripts and styles on the login/registration page add_action('login_enqueue_scripts', 'twentythirteen_scripts_styles'); // remove admin style on the login/registration page add_filter( 'style_loader_tag', 'user16975_remove_admin_css', 10, 2); function user16975_remove_admin_css($tag, $handle){ if ( did_action('login_init') && ($handle == 'wp-admin' || $handle == 'buttons' || $handle == 'colors-fresh')) return ""; else return $tag; } // display front-end header and footer on the login/registration page add_action('login_footer', 'user16975_integrate_login'); function user16975_integrate_login(){ ?><div id="page" class="hfeed site"> <header id="masthead" class="site-header" role="banner"> <a class="home-link" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"> <h1 class="site-title"><?php bloginfo( 'name' ); ?></h1> <h2 class="site-description"><?php bloginfo( 'description' ); ?></h2> </a> <div id="navbar" class="navbar"> <nav id="site-navigation" class="navigation main-navigation" role="navigation"> <h3 class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></h3> <a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?> <?php get_search_form(); ?> </nav><!-- #site-navigation --> </div><!-- #navbar --> </header><!-- #masthead --> <div id="main" class="site-main"> <?php get_footer(); ?> <script> // move the login form into the page main content area jQuery('#main').append(jQuery('#login')); </script> <?php }
그런 다음 양식이 원하는대로 나타나도록 테마 스타일 시트를 수정합니다.
3) 표시된 메시지를 수정하여 양식을 추가로 수정할 수 있습니다.
add_filter('login_message', 'user16975_login_message'); function user16975_login_message($message){ if(strpos($message, 'register') !== false){ $message = 'custom register message'; } else { $message = 'custom login message'; } return $message; } add_action('login_form', 'user16975_login_message2'); function user16975_login_message2(){ echo 'another custom login message'; } add_action('register_form', 'user16975_tweak_form'); function user16975_tweak_form(){ echo 'another custom register message'; }
4) 프런트 엔드 등록 양식이 필요한 경우 등록 된 사용자가 로그인 할 때 백엔드가 표시되는 것을 원하지 않을 것입니다.
add_filter('user_has_cap', 'user16975_refine_role', 10, 3); function user16975_refine_role($allcaps, $cap, $args){ global $pagenow; $user = wp_get_current_user(); if($user->ID != 0 && $user->roles[0] == 'subscriber' && is_admin()){ // deny access to WP backend $allcaps['read'] = false; } return $allcaps; } add_action('admin_page_access_denied', 'user16975_redirect_dashbord'); function user16975_redirect_dashbord(){ wp_redirect(home_url()); die(); }
많은 단계가 있지만 결과는 여기에 있습니다!
I made a website some time ago that was displaying a customized registration form on the front end side. This website is not live anymore but here are some screenshots.
Here are the steps I have followed:
1) Activate the possibility for all visitors to request a new account via Settings > General > Membership option. The registration page now appears at the URL /wp-login.php?action=register
2) Customize the registration form so that it looks like your site front-end. This is more tricky and depends on the theme you are using.
Here is an example with twentythirteen :
// include theme scripts and styles on the login/registration page add_action('login_enqueue_scripts', 'twentythirteen_scripts_styles'); // remove admin style on the login/registration page add_filter( 'style_loader_tag', 'user16975_remove_admin_css', 10, 2); function user16975_remove_admin_css($tag, $handle){ if ( did_action('login_init') && ($handle == 'wp-admin' || $handle == 'buttons' || $handle == 'colors-fresh')) return ""; else return $tag; } // display front-end header and footer on the login/registration page add_action('login_footer', 'user16975_integrate_login'); function user16975_integrate_login(){ ?><div id="page" class="hfeed site"> <header id="masthead" class="site-header" role="banner"> <a class="home-link" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"> <h1 class="site-title"><?php bloginfo( 'name' ); ?></h1> <h2 class="site-description"><?php bloginfo( 'description' ); ?></h2> </a> <div id="navbar" class="navbar"> <nav id="site-navigation" class="navigation main-navigation" role="navigation"> <h3 class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></h3> <a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?> <?php get_search_form(); ?> </nav><!-- #site-navigation --> </div><!-- #navbar --> </header><!-- #masthead --> <div id="main" class="site-main"> <?php get_footer(); ?> <script> // move the login form into the page main content area jQuery('#main').append(jQuery('#login')); </script> <?php }
Then modify the theme stylesheet to make the form appear as you want.
3) You can further modify the form by tweaking the displayed messages :
add_filter('login_message', 'user16975_login_message'); function user16975_login_message($message){ if(strpos($message, 'register') !== false){ $message = 'custom register message'; } else { $message = 'custom login message'; } return $message; } add_action('login_form', 'user16975_login_message2'); function user16975_login_message2(){ echo 'another custom login message'; } add_action('register_form', 'user16975_tweak_form'); function user16975_tweak_form(){ echo 'another custom register message'; }
4) If you need a front-end registration form, you will probably don't want that registered users see the backend when they log-in.
add_filter('user_has_cap', 'user16975_refine_role', 10, 3); function user16975_refine_role($allcaps, $cap, $args){ global $pagenow; $user = wp_get_current_user(); if($user->ID != 0 && $user->roles[0] == 'subscriber' && is_admin()){ // deny access to WP backend $allcaps['read'] = false; } return $allcaps; } add_action('admin_page_access_denied', 'user16975_redirect_dashbord'); function user16975_redirect_dashbord(){ wp_redirect(home_url()); die(); }
There are lots of steps, but the result is here !
-
- 2014-08-26
더 쉬운 방법 :
wp_login_form()
( 코덱스 페이지 여기에서 ).페이지에서 단축 코드를 사용할 수 있도록 자체 플러그인을 만들 수 있습니다.
<?php /* Plugin Name: WP Login Form Shortcode Description: Use <code>[wp_login_form]</code> to show WordPress' login form. Version: 1.0 Author: WP-Buddy Author URI: http://wp-buddy.com License: GPLv2 or later */ add_action( 'init', 'wplfsc_add_shortcodes' ); function wplfsc_add_shortcodes() { add_shortcode( 'wp_login_form', 'wplfsc_shortcode' ); } function wplfsc_shortcode( $atts, $content, $name ) { $atts = shortcode_atts( array( 'redirect' => site_url( $_SERVER['REQUEST_URI'] ), 'form_id' => 'loginform', 'label_username' => __( 'Username' ), 'label_password' => __( 'Password' ), 'label_remember' => __( 'Remember Me' ), 'label_log_in' => __( 'Log In' ), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_remember' => 'rememberme', 'id_submit' => 'wp-submit', 'remember' => false, 'value_username' => NULL, 'value_remember' => false ), $atts, $name ); // echo is always false $atts['echo'] = false; // make real boolean values $atts['remember'] = filter_var( $atts['remember'], FILTER_VALIDATE_BOOLEAN ); $atts['value_remember'] = filter_var( $atts['value_remember'], FILTER_VALIDATE_BOOLEAN ); return '<div class="cct-login-form">' . wp_login_form( $atts ) . '</div>'; }
사용자는 프런트 엔드에서 양식 스타일을 지정하기 만하면됩니다.
Way easier: use a WordPress function called
wp_login_form()
(Codex page here).You can make your own plugin so that you can use a shortcode in on of your pages:
<?php /* Plugin Name: WP Login Form Shortcode Description: Use <code>[wp_login_form]</code> to show WordPress' login form. Version: 1.0 Author: WP-Buddy Author URI: http://wp-buddy.com License: GPLv2 or later */ add_action( 'init', 'wplfsc_add_shortcodes' ); function wplfsc_add_shortcodes() { add_shortcode( 'wp_login_form', 'wplfsc_shortcode' ); } function wplfsc_shortcode( $atts, $content, $name ) { $atts = shortcode_atts( array( 'redirect' => site_url( $_SERVER['REQUEST_URI'] ), 'form_id' => 'loginform', 'label_username' => __( 'Username' ), 'label_password' => __( 'Password' ), 'label_remember' => __( 'Remember Me' ), 'label_log_in' => __( 'Log In' ), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_remember' => 'rememberme', 'id_submit' => 'wp-submit', 'remember' => false, 'value_username' => NULL, 'value_remember' => false ), $atts, $name ); // echo is always false $atts['echo'] = false; // make real boolean values $atts['remember'] = filter_var( $atts['remember'], FILTER_VALIDATE_BOOLEAN ); $atts['value_remember'] = filter_var( $atts['value_remember'], FILTER_VALIDATE_BOOLEAN ); return '<div class="cct-login-form">' . wp_login_form( $atts ) . '</div>'; }
All you have to do is to style your form on the frontend.
-
- 2014-03-18
플러그인 사용에 개방적이라면 이전에 Gravity Forms 용 사용자 등록 애드온을 사용해 보았지만 매우 잘 작동했습니다.
http://www.gravityforms.com/add-ons/user-registration/
편집 : 이것이 매우 상세한 솔루션이 아니라는 것을 알고 있지만 정확히 필요한 작업을 수행하고 좋은 솔루션입니다.
편집 : 내 대답을 더 확장하기 위해 중력 양식에 대한 사용자 등록 추가 기능을 사용하면 Gravity 양식을 사용하여 만든 양식의 모든 필드를 사용자 별 필드에 매핑 할 수 있습니다. 예를 들어 이름,성,이메일,웹 사이트,비밀번호로 양식을 만들 수 있습니다. 제출시 추가 기능은 해당 입력을 관련 사용자 필드에 매핑합니다.
또 다른 장점은 등록 된 사용자를 승인 대기열에 추가 할 수 있다는 것입니다. 사용자 계정은 관리자가 백엔드에서 승인 한 후에 만 생성됩니다.
위 링크가 끊어지면 Google "Gravity Forms 용 사용자 등록 추가 기능"
If you're open to the use of plugins, I've used the User Registration add-on for Gravity Forms before, it worked very well:
http://www.gravityforms.com/add-ons/user-registration/
Edit: I realise this isn't a very detailed solution, but it does exactly what you need and is a good solution.
Edit: To expand on my answer further, the User Registration add-on for gravity forms allows you to map any fields in a form created using Gravity Forms, to user-specific fields. For example, you can create a form with First Name, Last Name, Email, Website, Password. Upon submission, the add-on will map those inputs to the relevant user fields.
Another great thing about it, is you can add any registered users into an approval queue. Their user accounts would only be created once approved in the backend by an admin.
If the above link breaks, just Google "User Registration add on for Gravity Forms"
-
질문에 @kaiser가 추가 된 메모 (굵은 글씨)를 읽었습니까? * "** 설명과 맥락을 제공하는 긴 답변을 찾고 있습니다 **. 한 줄로만 답변하지 말고 왜 답변했는지 설명하세요.이상적으로는 인용이 있습니다. 설명이 포함되지 않은 답변은 삭제 될 수 있습니다. "*Have you read notes @kaiser added to the question (bold mine): *"We're looking for **long answers that provide some explanation and context**. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed"*
- 2
- 2014-03-18
- gmazzap
-
나는 가지고 있지만,OP가 그것을 사용자 정의 코딩 할 필요성을 언급하지 않기 때문에 추가 기능이 여전히 언급 할 가치가 있다고 느꼈다.필요하다고 생각되면 댓글로 옮기는 것이 좋습니다.I have, but I felt the add-on is still worth mentioning, as the OP doesn't mention a need to custom code it. Happy to move it to a comment if you feel it's necessary
- 0
- 2014-03-18
- James Kemp
-
나는 모드가 아니므로 답변을 언급 할 수 없습니다.나는 투표 만 할 수 있지만,귀하의 링크에 유용한 정보가 포함되어 있다고 생각하기 때문에 그렇게하지 않았습니다. 그러나 링크 전용 답변은 유용하지 않습니다. 링크가 쉽게 변경되어 답변이 404가되기 때문입니다.여기에 관련 코드를보고하고 코드가하는 일을 설명하면 대답은 괜찮은 것 같습니다.I'm not a mod, so I can't move to comment your answer. I can only vote down, but I haven't do that because I think that your link contain useful info, however, link-only answer is not useful, even because that link can be easily change and so your answer bring to a 404. Try to report here relevant code and explain waht that code does, then your answer is fine, I guess.
- 0
- 2014-03-18
- gmazzap
-
James,코드가 포함 된 _real_ 답변에 현상금을 수여했습니다.추가 현상금을 원하시면 플러그인을 떼어 내고 정확히 무엇을하는지 보여주세요.감사.James, I awarded the bounty to a _real_ answer that includes code. If you want an additional bounty, please tear the plugin apart and show us exactly what it's doing. Thanks.
- 0
- 2014-03-18
- kaiser
-
안녕 Kaiser,나는 현상금을 쫓지 않고 플러그인에 대한 지식을 공유하고 싶었습니다!Hi Kaiser, I'm not after the bounty, just wanted to share my knowledge of the plugin!
- 0
- 2014-03-19
- James Kemp
블로그의 프런트 엔드에 WordPress 사용자 등록 양식 ( "www.mywebsite.com/wp-register.php"페이지에 나타나는 양식)을 표시하는 방법은 무엇입니까?
등록 양식을 사용자 정의했습니다.그러나 프런트 엔드 페이지에서 해당 양식을 호출하는 방법을 모릅니다.모든 지원은 정말 큰 도움이 될 것입니다.
미리 감사합니다.:)