oromnet

چگونگي اضافه كردن فيلد جنسيت در قسمت مديريت كاربران

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

باسلام به دوستاي عزيز

مي خواستم ببينم :

1- چه طوري ميشه در قسمت مديريت كاربران و يا اضافه كردن كاربر ، يه فيلد اضافه كرد و در اون جنسيت رو مشخص نمود ؟

2- چه طوري ميشه نقش هاي موجود در ودرپرس ( مشترك ، نويسنده ، ويرايشگر و ... ) را ويرايش يا اضافه و يا كم كرد ؟

ممنون

0

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


لینک به پست

سلام

1 ـ

http://wordpress.org...r-extra-fields/

همچنین می تونید به جای نصب افزونه این کد رو از فانکشن قالب بذارید


<?php
add_action( 'show_user_profile', 'show_extra_profile_fields' );
add_action( 'edit_user_profile', 'show_extra_profile_fields' );
function show_extra_profile_fields( $user ) { ?>
<h3>مشخصات بیشتر</h3>
<table class="form-table">
<tr>
<th><label for="gender">جنسیت</label></th>
<td>
<select name="gender" id="gender" >
<option value="Male" <?php selected( 'Male', get_the_author_meta( 'gender', $user->ID ) ); ?>>مرد</option>
<option value="Female" <?php selected( 'Female', get_the_author_meta( 'gender', $user->ID ) ); ?>>زن</option>
</select>
</td>
</tr>
</table>
<?php }
add_action( 'personal_options_update', 'save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );
function save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
update_usermeta( $user_id, 'gender', $_POST['gender'] );
}
?>

2 ـ

http://wordpress.org...er-role-editor/

3

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


لینک به پست

سلام

1 ـ

http://wordpress.org...r-extra-fields/

همچنین می تونید به جای نصب افزونه این کد رو از فانکشن قالب بذارید


<?php
add_action( 'show_user_profile', 'show_extra_profile_fields' );
add_action( 'edit_user_profile', 'show_extra_profile_fields' );
function show_extra_profile_fields( $user ) { ?>
<h3>مشخصات بیشتر</h3>
<table class="form-table">
<tr>
<th><label for="gender">جنسیت</label></th>
<td>
<select name="gender" id="gender" >
<option value="Male" <?php selected( 'Male', get_the_author_meta( 'gender', $user->ID ) ); ?>>مرد</option>
<option value="Female" <?php selected( 'Female', get_the_author_meta( 'gender', $user->ID ) ); ?>>زن</option>
</select>
</td>
</tr>
</table>
<?php }
add_action( 'personal_options_update', 'save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );
function save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
update_usermeta( $user_id, 'gender', $_POST['gender'] );
}
?>

2 ـ

http://wordpress.org...er-role-editor/

داداش دستت درد نكنه ، ولي در مورد گزينه اول من كد رو در فانكش گذاشتم ولي وقتي اضافه كردن كاربر رو مي زنم گزينه در قسمت اضافه كردن كاربر نمياد ولي در شناسه شما هست و در مورد افزونه هم همين طوره ، يه چيز ديگه هم كه هست در مورد كدي كه قرار دادي ، در قسمت كاربران هيچ رديفي اضافه نشده البته در مورد افزونه هم همين طور هست ، ممنون ميشم راهنمايي كنين

0

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


لینک به پست

سلام می تونی از این روش استفاده کنی


function modify_contact_methods($profile_fields) {
// Add new fields
$profile_fields['twitter'] = 'Twitter Username';
return $profile_fields;
}
add_filter('user_contactmethods', 'modify_contact_methods');

برای چاپ کردن هم از این کد استفاده کن


<?php
$x = get_the_author_meta('twitter');
echo $x;
?>

2

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


لینک به پست

سلام می تونی از این روش استفاده کنی


function modify_contact_methods($profile_fields) {
// Add new fields
$profile_fields['twitter'] = 'Twitter Username';
return $profile_fields;
}
add_filter('user_contactmethods', 'modify_contact_methods');

برای چاپ کردن هم از این کد استفاده کن


<?php
$x = get_the_author_meta('twitter');
echo $x;
?>

ممنون دوست عزيز ، كدهارو گذاشتم تو فانكش قالب ولي كار نكرد .

0

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


لینک به پست

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

ممنون دوست عزيز ، كدهارو گذاشتم تو فانكش قالب ولي كار نكرد .

کد هارو خودم تست کردم مشکلی نداشت می تونید ببینید

لینک عکس

ویرایش شده در توسط IMasoud
0

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


لینک به پست

کد هارو خودم تست کردم مشکلی نداشت می تونید ببینید

لینک عکس

function modify_contact_methods($profile_fields) { // Add new fields $profile_fields['twitter'] = 'Twitter Username'; return $profile_fields; } add_filter('user_contactmethods', 'modify_contact_methods');

Warning: Cannot modify header information - headers already sent by (output started at /home3/javid118/public_html/demo1/wp-content/themes/oromnetmag/functions.php:317) in /home3/javid118/public_html/demo1/wp-includes/option.php on line 747

Warning: Cannot modify header information - headers already sent by (output started at /home3/javid118/public_html/demo1/wp-content/themes/oromnetmag/functions.php:317) in /home3/javid118/public_html/demo1/wp-includes/option.php on line 748

اينم ارور هاش

0

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


لینک به پست

فایل فانکشن قالبتون رو پیوست کنید

2

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


لینک به پست

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

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

برای ثبت جنسیت در فرم ثبت نام به فانکشن اضافه کنید:


add_action('register_form','myplugin_register_form');
function myplugin_register_form (){
$gender = ( isset( $_POST['gender'] ) ) ? $_POST['gender']: '';
?>
<p>جنسیت
<select for="gender" name="gender">
<option id="gender" value="Male">Male</option>
<option id="gender" value="Female">Female</option>
</select>
</p>
<?php
}
add_filter('registration_errors', 'myplugin_registration_errors', 10, 3);
function myplugin_registration_errors ($errors, $sanitized_user_login, $user_email) {
if ( empty( $_POST['gender'] ) )
$errors->add( 'gender_error','جمله‌ی خطای ثبت جنسیت که در اینجا با توجه به نوع فرم، کارایی ندارد');
return $errors;
}
add_action('user_register', 'myplugin_user_register');
function myplugin_user_register ($user_id) {
if ( isset( $_POST['gender'] ) )
update_user_meta($user_id, 'gender', $_POST['gender']);
}

حالا برای نمایش در پروفایل کاربر و امکان ویرایش به فانکشن اضافه کنید:


function add_gender_user_profile( $user ) {
?>
<table class="form-table">
<tr>
<td>
<label for="gender">Gender</label>
<input type="text" name="gender" id="gender" value="<?php echo esc_attr( get_the_author_meta( 'gender', $user->ID ) ); ?>" class="regular-text" readonly/>
</td>
<td>
<input type="radio" name="gender" id="gender" value="Male"/>Male<br/>
<input type="radio" name="gender" id="gender" value="Female"/>Female<br/>
<span class="description">می توانید جنسیت را تغییر دهید</span>
</td>
</tr>
</table>
<?php }
function save_gender_user_profile( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return FALSE;
update_user_meta( $user_id, 'gender', $_POST['gender'] );
}
add_action( 'show_user_profile', 'add_gender_user_profile' );
add_action( 'edit_user_profile', 'add_gender_user_profile' );
add_action( 'personal_options_update', 'save_gender_user_profile' );
add_action( 'edit_user_profile_update', 'save_gender_user_profile' );

** تغییرات قبلی که برای این منظور دادید رو به حالت اول برگردونید

ویرایش شده در توسط isk
4

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


لینک به پست

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

فایل فانکشن قالبتون رو پیوست کنید

--------------------

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

برای ثبت جنسیت در فرم ثبت نام به فانکشن اضافه کنید:


add_action('register_form','myplugin_register_form');
function myplugin_register_form (){
$gender = ( isset( $_POST['gender'] ) ) ? $_POST['gender']: '';
?>
<p>جنسیت
<select for="gender" name="gender">
<option id="gender" value="Male">Male</option>
<option id="gender" value="Female">Female</option>
</select>
</p>
<?php
}
add_filter('registration_errors', 'myplugin_registration_errors', 10, 3);
function myplugin_registration_errors ($errors, $sanitized_user_login, $user_email) {
if ( empty( $_POST['gender'] ) )
$errors->add( 'gender_error','جمله‌ی خطای ثبت جنسیت که در اینجا با توجه به نوع فرم، کارایی ندارد');
return $errors;
}
add_action('user_register', 'myplugin_user_register');
function myplugin_user_register ($user_id) {
if ( isset( $_POST['gender'] ) )
update_user_meta($user_id, 'gender', $_POST['gender']);
}

حالا برای نمایش در پروفایل کاربر و امکان ویرایش به فانکشن اضافه کنید:


function add_gender_user_profile( $user ) {
?>
<table class="form-table">
<tr>
<td>
<label for="gender">Gender</label>
<input type="text" name="gender" id="gender" value="<?php echo esc_attr( get_the_author_meta( 'gender', $user->ID ) ); ?>" class="regular-text" readonly/>
</td>
<td>
<input type="radio" name="gender" id="gender" value="Male"/>Male<br/>
<input type="radio" name="gender" id="gender" value="Female"/>Female<br/>
<span class="description">می توانید جنسیت را تغییر دهید</span>
</td>
</tr>
</table>
<?php }
function save_gender_user_profile( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return FALSE;
update_user_meta( $user_id, 'gender', $_POST['gender'] );
}
add_action( 'show_user_profile', 'add_gender_user_profile' );
add_action( 'edit_user_profile', 'add_gender_user_profile' );
add_action( 'personal_options_update', 'save_gender_user_profile' );
add_action( 'edit_user_profile_update', 'save_gender_user_profile' );

** تغییرات قبلی که برای این منظور دادید رو به حالت اول برگردونید

----------

هر دو كد رو توي فانكش قالب گذاشتم اما خطا داد :

Parse error: syntax error, unexpected '}' in /home3/javid118/public_html/demo1/wp-content/themes/oromnetmag/functions.php on line 322

اينم كد فانكش قالب :

ویرایش شده در توسط Farid
ناخوانا بودن کد پیوست شده
0

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


لینک به پست

دوست عزیز پست شما ویرایش شد ... کدها ناخوانا شده بودند .. برای گذاشتن کدهای طولانی از قسمت bbcode مخصوص در ویرایشگر long box رو انتخاب کنید و کدتون رو بذارید و نیازی نیست که کد رو Bold کنید چون تگ بهش اضافه میشه و کد ها رو به هم میریزه

2

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


لینک به پست

به احتمال زیاد مشکل از وردپرس یا افزونه و ... هستش چون به هم مرتبط هستن

اگر از افزونه ای واسه این کار استفاده می کنید اون رو آف کنید

و وردپرستون هم آپدیت یا دوباره نصب کنید

قالب ساییتتوون شاید کلاً مشکل داشته باشه

من کدم رو روی چندتا وردپرس تست کردم مشکلی نداشت

0

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


لینک به پست

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

بیایید قدم به قدم جلو بریم:

تمام تغییراتی که برای این‌کار دادید رو به حالت اول برگردونید.

آیا در اینصورت فایل فانکشن و سایت بدون خطا عمل می‌کند؟

اگر بلی: پلاگین زیر را در پوشه‌ی پلاگین‌ها قرار دهید و از پنل وردپرس آن‌را فعال کنید.

اگر نه: فایل فاکشن رو اینجا پیوست کنید. (نه اینکه کدها رو کپی کنید)

پلاگین:

gender.php

ویرایش شده در توسط isk
2

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


لینک به پست

دوست عزیز پست شما ویرایش شد ... کدها ناخوانا شده بودند .. برای گذاشتن کدهای طولانی از قسمت bbcode مخصوص در ویرایشگر long box رو انتخاب کنید و کدتون رو بذارید و نیازی نیست که کد رو Bold کنید چون تگ بهش اضافه میشه و کد ها رو به هم میریزه

بیایید قدم به قدم جلو بریم:

تمام تغییراتی که برای این‌کار دادید رو به حالت اول برگردونید.

آیا در اینصورت فایل فانکشن و سایت بدون خطا عمل می‌کند؟

اگر بلی: پلاگین زیر را در پوشه‌ی پلاگین‌ها قرار دهید و از پنل وردپرس آن‌را فعال کنید.

اگر نه: فایل فاکشن رو اینجا پیوست کنید. (نه اینکه کدها رو کپی کنید)

پلاگین:

gender.php

مشكلي نداره اونو فعال كردم فقط تنها چيزي كه هست الان فيلد تو قسمت ثبت نام نشون داده نميشه .

اينم فانكش قالب

functions.php

0

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


لینک به پست

به احتمال زیاد مشکل از وردپرس یا افزونه و ... هستش چون به هم مرتبط هستن

اگر از افزونه ای واسه این کار استفاده می کنید اون رو آف کنید

و وردپرستون هم آپدیت یا دوباره نصب کنید

قالب ساییتتوون شاید کلاً مشکل داشته باشه

من کدم رو روی چندتا وردپرس تست کردم مشکلی نداشت

من كد ها رو توي وردپرس 3.9.1 تست كردم هم روي هاست و هم لوكال هاست ولي در هر دوتاش كار نكرد.

البته در قالب هاي مختلف و بدون افزونه

0

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


لینک به پست

این فانکشن رو تست کنید ببینید براتون فیلد جنسیت اضافه میشه یا ن

functions(1).php

1

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


لینک به پست

این فانکشن رو تست کنید ببینید براتون فیلد جنسیت اضافه میشه یا ن

functions(1).php

اين ارور رو ميده :

Parse error: syntax error, unexpected '}' in /home3/user host/public_html/demo/wp-content/themes/oromnetmag/functions.php on line 54

0

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


لینک به پست

تست کنید

functions(1).php

1

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


لینک به پست

تست کنید

functions(1).php

ممنون ولي بازم ارور ميده :

Fatal error: Cannot redeclare myplugin_register_form() (previously declared in /home3/javid118/public_html/demo/wp-content/plugins/gender.php:10) in /home3/user host/public_html/demo/wp-content/themes/oromnetmag/functions.php on line 297

0

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


لینک به پست

شما باید یا پلاگینی که اون دوست عزیز براتون پیوست کردن استفاده کنید یا فانکشن جدیدی که من براتون گذاشتم چون هر دو 1 کار انجام میدن . اگر سخته براتون کدنویسی ، فانکشن رو به حالت قبلی برگردونید و بعدش اون پلاگین رو تست کنید

1

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


لینک به پست

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

شما باید یا پلاگینی که اون دوست عزیز براتون پیوست کردن استفاده کنید یا فانکشن جدیدی که من براتون گذاشتم چون هر دو 1 کار انجام میدن . اگر سخته براتون کدنویسی ، فانکشن رو به حالت قبلی برگردونید و بعدش اون پلاگین رو تست کنید

دوست عزيز ، من اون پلاگين رو حذف كردم و از فانكش قالب استفاده مي كنم ، اون خطا هم به خاطر كش مرورگر بود كه حلش كردم.

ولي فيلد تو قسمت ثبت نام اضافه نشده

ویرایش شده در توسط oromnet
0

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


لینک به پست

آقا فريد ميشه راهنمايي بفرمايين ؟

0

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


لینک به پست

صبر کنید تا اگر دوستان دیگه راه حلی دارن ارائه بدن

0

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


لینک به پست

نمونه

http://codex.wordpress.org/Customizing_the_Registration_Form

1

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


لینک به پست

نمونه

http://codex.wordpress.org/Customizing_the_Registration_Form

اون طوري كه من متوجه شديم اين يه فيلد براي اسم اضافه مي كنه درسته ؟

من اينو چيكارش كنم ؟

0

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


لینک به پست

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

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

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

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


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

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

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


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