• اطلاعیه ها

    • Saeed Fard

      پوشش زنده وردکمپ ۲۰۱۸ اروپا توسط وردپرس پارسی   23/03/97

      اگر کاربر وردپرس هستید حتما تا به حال اسم وردکمپ رو شنیدید، کمپ و دورهمی بزرگ توسعه‌دهنده‌ها و کاربران وردپرس که سالانه در کشورهای مختلف برگزار میشه تحت عنوان وردکمپ هستش که از سمت مراجع اصلی وردپرس حمایت و برگزار می‌شه.   این‌ بار در سال 2018 وردکمپ اروپا در شهر بلگراد کشور صربستان در حال برگزاری هستش، این رویداد طی سه روز 24 تا 26 تیر ماه (June 14-16) برگزار میشه، در این رویداد مصطفی صوفی از وردپرس پارسی و به نمایندگی تمامی کاربران وردپرس فارسی حضور داره. وردپرس پارسی رویداد وردکمپ 2018 اروپا رو به صورت زنده توسط مصطفی پوشش می‌ده و در صورت علاقه‌مندی به این مراسم می‌تونید از طریق وردپرس پارسی دنبالش کنید.در حال حاضر یک روز از این مراسم گذشته که گزارش اون در قسمت پوشش زنده قرار گرفته. برای دنبال کردن مراسم وردکمپ اروپا به صورت لحظه‌ای به صفحه پوشش زنده در قسمت زیر مراجعه کنید. همینطور در آینده منتظر خبر برگزاری اولین وردکمپ در ایران توسط وردپرس‌پارسی باشید. https://wp-parsi.com/wceu-2018

      لینک خبر در وردپرس پارسی : https://wp-parsi.com/wceu-2018-live  
Bright Moon

افزودن فیلد به فرم ثبت نام

6 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام

میخوام چند فیلد دلخواه به پروفایل یوزر ها اضافه کنم.

یک فرم ثبت نام دلخواه بسازم در گوشه ای از پوسته و توش از کاربر بخوام این فیلدهای جدید رو هم پر کنه...

تا اونجا که فهمیدم باید توی یوزر متا تغییر ایجاد کرد!

ممنون میشم راهنمایی کنید :)

ویرایش شده در توسط Light Moon
0

به اشتراک گذاری این پست


لینک به پست

1. اضافه نمودن فیلد به صفحه پروفایل :


function modify_user_contact_methods( $user_contact ){
/* Add user contact methods */
$user_contact['skype'] = __('Skype Username');
$user_contact['twitter'] = __('Twitter Username');
/* Remove user contact methods */
unset($user_contact['aim']);
unset($user_contact['jabber']);
return $user_contact;
}
add_filter('user_contactmethods', 'modify_user_contact_methods');

در فایل functions.php بگذارید در این نمونه دو فیلد برای Skype و Twitter اضافه شده و دو فیلد aim و jabber از پروفایل حذف شده

http://wordpress.org...ch/user_contact

2. روش ساخت فرم دستی :

فرمش که مشخصه چیزی شبیه :



<form id="your-profile" action="" method="post">
<input type="hidden" name="user_id" value="<?php echo $current_user->user_ID;?>">
<input type="text" name="mobile" id="mobile" value="<?php echo get_user_meta( $user_id, "mobile", true);?>" >
...
<input type="submit" name="profile_submit">
</form>

یک فیلد هیدن برای انتقال آی دی کاربر به اکشن و فیلدهای دیگه هم مثل فیلد موبایل

و اکشنش :


<?php
global $user_ID, $user_identity, $user_level, $user_email, $user_login, $user_info, $user_first_name, $user_last_name, $user_url;
if (is_user_logged_in()) :
wp_get_current_user();
$user_id = $current_user->ID;
$meta = get_user_meta($user_id, 'profile');
$meta = $meta[0];
if(current_user_can('edit_posts') ) {
if(isset($_POST['profile_submit'])) :
if(isset($_POST['mobile'])) {
$mobile = $_POST['mobile'];
if(get_user_meta( $user_id, "mobile", true)) {
update_user_meta($user_id, 'mobile', $mobile);
} else {
add_user_meta($user_id, 'mobile', $mobile);
}


echo '<h4 class="alert">مشخصات شما به روز شد</h4>';
endif;
}
else :
$permalink = get_permalink();
echo wp_login_form($permalink);
endif;
?>

که در اصل شرط را با


get_user_meta( $user_id, "meta_key", true))

می سازید و به روز رسانی یا ایجاد متا را با


update_user_meta($user_id, 'meta_key', 'meta_value');
add_user_meta($user_id, 'meta_key', 'meta_value');

meta_key نامیست که برای متا و فیلدتون انتخاب می کنید و meta_value هم مقداریست که کاربر در فیلد قرار خواهد داد

نکته : فرم ثبت نام وردپرس را دستکاری نکنید چون با مشکل ایمیل تایید و ارسال رندم رمز مواجه می شوید

می توانید در فرم بالا یک فیلد hidden با نام دلخواه اضافه کنید و شرطی بگذارید که کاربر در اولین ورودش بعد از ثبت نام مجبور به تکمیل مشخصاتش شود

اگر خواستید اینکار را بکنید بفرمایید تا کدش را بگذارم

5

به اشتراک گذاری این پست


لینک به پست

از وان روز چندین بار تلاش کردم و چون به نتیجه نرسیدم کار رو رها کردم...

* ایجاد فیلد جدید در پروفایل حل شد. متشکر

سوالی که برای ساخت فرم پیش اومد، این بود که برای اضافه کردن مواردی مثل نام و نام خانوادگی و رمز و ... چه مقادیری باید در خود فیلد بزارم؟! چه مقادیری فیلد ها رو به این موارد منتسب میکنه؟

اگر یک نمونه به صورت مثال موجود باشه فکر کنم خیلی بهم کمک میکنه. فرمی که شامل چند مورد پیشفرض وردپرس و یک مورد اضافه شده مثل اسکایپ(که توی توضیح قبلی اشاره شده) باشه.

و اکشن هم برای ثبت نام ...

ببخشید سوالم خیلی کلیه.

ممنون

0

به اشتراک گذاری این پست


لینک به پست


add_action(‘register_form’,’show_first_name_field’);
add_action(‘register_post’,’check_fields’,10,3);
add_action(‘user_register’, ‘register_extra_fields’);
function show_first_name_field(){
?>
<p>
<label>First Name<br/>
<input id=”user_email” type=”text” tabindex=”20″ size=”25″ value=”<?php echo $_POST['first']; ?>” name=”first”/>
</label>
</p>
<p>
<label>Last Name<br/>
<input id=”user_email” type=”text” tabindex=”20″ size=”25″ value=”<?php echo $_POST['last']; ?>” name=”last”/>
</label>
</p>
<?php
}
function check_fields($login, $email, $errors) {
global $firstname, $lastname;
if ($_POST['first'] == ”) {
$errors->add(‘empty_realname’, “<strong>ERROR</strong>: Please Enter in First Name”);
} else {
$firstname = $_POST['first'];
}
if ($_POST['last'] == ”) {
$errors->add(‘empty_realname’, “<strong>ERROR</strong>: Please Enter in Last Name”);
} else {
$firstname = $_POST['last'];
}
}
function 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);
}

http://tipsforwordpress.com/wordpress/add-custom-field-to-register-form/

3

به اشتراک گذاری این پست


لینک به پست

پارسای عزیز خیلی ممنون.

سعی کردم خودم باقی راه رو برم اما نشد. گیج شدم :blink:

ممکنه اول ساخت فرمش رو کمک کنید؟!

برای اضافه کردن مواردی مثل نام و نام خانوادگی و رمز و ... چه مقادیری باید در خود فیلد بزارم؟! چه مقادیری فیلد ها رو به این موارد منتسب میکنه؟

2. روش ساخت فرم دستی :

فرمش که مشخصه چیزی شبیه :



<form id="your-profile" action="" method="post">
<input type="hidden" name="user_id" value="<?php echo $current_user->user_ID;?>">
<input type="text" name="mobile" id="mobile" value="<?php echo get_user_meta( $user_id, "mobile", true);?>" >
...
<input type="submit" name="profile_submit">
</form>

بر اساس این کدها،برای درخواست نام این خط درسته؟


<input type="text" name="firstname" id="firstname" value="<?php echo get_user_meta( $user_id, "first_name", true);?>" >

و یا مقدار value باید از میان عبارت های تعین شده انتخاب کرد؟

برای نام خانوادگی و رمز عبور و موارد مشابه چطور؟

متشکرم

0

به اشتراک گذاری این پست


لینک به پست

به فرمی که جناب پارسا گذاشتند دقت کنید واضحه

برای فیلد با نام first مقدار value برابر با


<?php echo $_POST['first']; ?>

همین الگو را تا انتها پیش بگیرید

مهم معرفی درست اکشن است


function register_extra_fields($user_id, $password=””, $meta=array()) {
$userdata = array();
$userdata['ID'] = $user_id;
$userdata['first_name'] = $_POST['first'];
$userdata['last_name'] = $_POST['last'];

4

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری