آموزش اضافه کردن فیلد پسورد در قسمت ثبت نام وردپرس
سلام دوستان خوبم, برای امروز آموزش نحوه قرار دادن فیلد پسورد در صفحه عضویت را فرا می گیریم تا کاربران جدید بتوانند در هنگام ثبت نام پسورد دلخواه خود را ثبت نمایند.
برای انجام این کار به دو روش می توانیم خواسته خود را برآورده کنیم.با ما همراه باشید :
الف : پلاگین ها
Profile Builder
افزونه ای فوق العاده در ساخت فیلد و مدیریت آن برای پروفایل های کاربری.
Theme My Login
این افزونه یکی از کاربردی ترین افزون ها برای سایت های چند کاربره می باشد که با ایجاد یک برگه در آن فرمی جهت لاگین و ثبت نام آماده می کند و از ابزارک هم پشتیبانی می نماید.استفاده از آن را به شما توصیه می کنیم.
Cimy User Extra Fields
این افزونه واقعا فوق العاده است.شما هر آن چه که بخواهید می توانید به فیلد های صفحه ثبت نام اضافه کنبد.
در هنگام ثبت نام می توانید هر آنچه که مد نظرتان است از کاربر جدیدتان دریافت نمائید.
این افزونه از موارد زیر پشتیبانی می کند جهت قرار دادن در صفحه ثبت نام :
- text
- textarea
- textarea-rich
- password
- checkbox
- radio
- drop-down
- picture
- picture-url
- registration-date
- avatar
- file
و قابلیت مخفی کردن موارد زیر را دارا می باشد :
- password
- first name
- last name
- nickname
- website
- Aim
- Yahoo IM
- Jabber/Google Talk
- biographical info
set-password-on-wordpress-mu-blog-creation
این افزونه برای کاربران مولتی یوز می باشد.البته بزودی این بخش را آغاز میکنیم و کلیه مباحث قالب و پلاگین ها اون را مطرح می کنیم.تصویر زیر و لینک مربوط گویای عملکرد این افزونه می باشد.
خوب تا اینجا ما با پلاگین ها و افزونه ها کار کردیم.اما به فکر دوست داران کدنویسی و یا به قولی کد باز ها هم بودیم در ادامه مبحث کد نویسی و ایجاد فیلد پسورد در صفحه ثبت نام را با هم پیش می بریم.
ب : کد نویسی
برای شروع کار یه لیوان چای داغ کنار دستان باشد (حتما !!!)
1-فایل functions.php را باز کنید و در انتهای خط برنامه کد های زیر را وارد نمائید :
[php]<?php
// اضافه کردن فیلد رمز عبور به صفحه لاگین
add_action( ‘register_form’, ‘ts_show_extra_register_fields’ );
function ts_show_extra_register_fields(){
?>
<p>
<label for="password">رمز عبور<br/>
<input id="password" type="password" tabindex="30" size="25" value="" name="password" />
</label>
</p>
<p>
<label for="repeat_password">تکرار رمز عبور<br/>
<input id="repeat_password" type="password" tabindex="40" size="25" value="" name="repeat_password" />
</label>
</p>
<?php
}
// چک کردن خطا های احتمالی
add_action( ‘register_post’, ‘ts_check_extra_register_fields’, 10, 3 );
function ts_check_extra_register_fields($login, $email, $errors) {
if ( $_POST[‘password’] !== $_POST[‘repeat_password’] ) {
$errors->add( ‘passwords_not_matched’, "<strong>!خطا</strong>: پسوردها هماهنگ نیست" );
}
if ( strlen( $_POST[‘password’] ) < 6 ) {
$errors->add( ‘password_too_short’, "<strong>!خطا</strong>: رمز عبور باید بیشتر از 6 حزف باشد" );
}
}
// ثبت رمز عبور در دیتابیس
add_action( ‘user_register’, ‘ts_register_extra_fields’, 100 );
function ts_register_extra_fields( $user_id ){
$userdata = array();
$userdata[‘ID’] = $user_id;
if ( $_POST[‘password’] !== ” ) {
$userdata[‘user_pass’] = $_POST[‘password’];
}
$new_user_id = wp_update_user( $userdata );
}
// نمایش پیام کامل شدن ثبت نام
add_filter( ‘gettext’, ‘ts_edit_password_email_text’ );
function ts_edit_password_email_text ( $text ) {
if ( $text == ‘پسورد برای شما ایمیل خواهد شد’ ) {
$text = ‘اگر فیلد پسورد را خالی گذاشته اید. پسورد برای شما جنریت خواهد شد. رمز عبور باید بیش از ۵ حرف باشد.’;
}
return $text;
}
?>
[/php]خوب کار شما به پایان رسید لطفا نوشیدنی خود را میل نمائید. 🙂
!Your account is now active
Username: 3zar.ir
Password: xxxxxxxxxxxxx
Your account is now activated. View your site or Log in
امیدوارم از این آموزش استفاده لازم را ببرید.
شادی از آن لحظه های شما …
لینک کوتاه : https://3zar.ir/?p=14827
سایت خوبی دارید
تشکر
ممنون از مقاله خوبتون
خیلی خیلی ممنون مفید بود
ممنون.
مطلب خوبی بود.تشکر
واقعا وبلاگ فوق العاده ای دارید !
like
عالی بود
ممنون از لطفتون.
سلام. این خیلی عالیه. مرسی هزار بار
دست گلت درد نکنه 🙂
خیلی دنبالش بودم.تشکر
ممنون از لطفتون.
سلام رضا جان… ممنونم، مطلب مفیدی بود.
قربانت آرش جان
خوشحالم مفید براتون بود.
این مطلب تون در مقایسه با بقیه یه جورایی گیج میزد!
ظاهرن با عجله پابلیش شده : )
کاش فید رو به صورت کامل منتشر کنین
عدم کامل بودنش باعث جذب بیشتر خواننده نمیشه
باعث کاهششون میشه!
دقیقا 🙂 .اما در عین سرعت که 15 دقیقه وقتم رو گرفت سعی کردم بصورت کامل به موضوع و تمامی جوانب آن بپردازم.اگه نکته ای در این مطلب مشاهده می کنید بگید تا اصلاح بکنم.
در مورد فید هم دوست عزیز انشالله بصورت کامل می گذاریم.
با تشکر
سلام آقا رضا
دست درد نکنه به نظرم افزونه های جالبی باید باشه
من دنبال یک افزونه می گردم نمیدونم اینها کارم انجام بده یانه
سایتی برای یک شرکت هست که تعدادی سهامدار داره ومبلغ سهام خودرا بصورت اقساط پرداخت می کنندمن میخوام کاری بشه که توچندتا فیلد
1-مبلغ قسط2-باقی مانده قسط3-مبلغ پرداخت شده وچندتا فیلد دیگرکه با ارسالش بره توپروفایل کاربرموردنظرقراربگیره وبرای کاربرقابل ویرایش وحذف نباشه چنین افزونه ای داریم یانه؟اگر بودزحمتش بکشید …ممنون
سلام محمود جان
افزونه زیر را نصب کنید و فیلد را readonly کنید تا فقط توسط شما قابل تغییر باشه .
[php]
http://wordpress.org/extend/plugins/pie-register/
و
http://wordpress.org/extend/plugins/juiz-user-custom/
[/php]
در این انجمن به این موضوع اشاره شده است :
[php]
http://forum.wp-parsi.com/topic/2154-%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-%D8%A7%D9%85%D8%AA%DB%8C%D8%A7%D8%B2-%D8%AF%D9%87%DB%8C-%D8%A8%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86/
[/php]
مشکلی بود در خدمتم.
ممنون
ولی کد ها رو به فایل فانکشن اضافه کردم ولی هیچ تغییری ایجاد نشد.
فکر کنم مشکل از قالب یا وردپرسم باشه چون پلاگین ها هم یا صفحه خالی میاد یا اصلا تغییری ایجاد نمیکنه.
لطفا کمک کنید
سلام فرهاد جان
تو لوکال تست کردم مشکلی نبود 100% جواب داد.
سلام . یه سوالی . من یه سایت دارم که تو قسمت ساید بارش به صورت دستی کد نویسی HTML و CSS انجام دادم و یه قالب لاگین ایجاد کردم . حال میخوام به صورت کد دستی به این قالب لاگینم امکان لاگین شدن رو بدم و از هیچ ابزارکی استفاده نکنم . امکانش هستش کدهای مربوطه + محل قرار گیریش در فرم لاگین رو بگید
سوال دوم : اگر بخواهم یه ریجستر برای سایتم قرار بدم و داخل یه صفحه خاصی مثلا صفحه ” ثبت نام ” این فیلدها رو به نمایش بزاره چطوری هستش ؟ این هم ممنون میشم کد و مثالی براش بزنید. مرسی
سلام مهدی جان
لینک زیر را برای شما انتشار دادم.
[php]
https://www.3zar.ir/?p=17691
[/php]
سلام. هر چی کد رو اخر فانکشن اضافه میکنم به ارور برخورد میکنم. ارور خط 111 یعنی از شروع کد! دلیلش چیه؟
سلام
ممنون از آموزشتون فقط یه سوال دارم که ممنون میشم جواب بدید :
الان چطوری میشه این متن رو از صفحه ی ثبت نام حذف کرد؟
“رمز با نامه برای شما فرستاده خواهد شد.”
من از کد نویسی استفاده کردم.
خیلی ممنونم کارمو راه انداخت.
خدا خیرتون بده
سلام
ببخشید من این کد رو استفاده کردم و اولش خوب بود ولی بعد از این که کد رو با اون عدد هاش بازی کردم میخواستم با دو فیلد قبلی ست به وقتی ثبت بروز رسانی رو زدم صفحه سفید شد و لی اون طرف ثبت شد و نمایش داد بنظرتون مشکل از کجاست و وقتی کد رو حذف کردم بازم همین مشکل رخ داد
سلام ممنون از مطالب مفیدتون فقط یه سوال چطوری میشه یه فیلد امنیتی هم اضافه کردن مثلا پایتخت ایران کجاست یا همچین چیزایی.
ممنون میشم راهنمایی کنید