رفتن به مطلب

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


پست های پیشنهاد شده

سلام

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

حالا میخوام اون رو get_user_meta کنم تو شناسنامه کاربران که برای اضافه کردنش از فیلتر زیر استفاده کردم که متاسفانه اضافه نمیشه .


add_action('show_user_profile', 'my_profile');
add_action('edit_user_profile', 'my_profile');

لینک به ارسال

کد زیر مثلا برای فیلد آدرس پروفایل فیس بوک:


<?php
add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>New field</h3>
<table class="form-table">
<tr>
<th><label for="facebook">Facebook</label></th>
<td>
<input type="text" name="facebook" id="facebook" value="<?php echo esc_attr( get_the_author_meta( 'facebook', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Enter your Facebook full profile address.</span>
</td>
</tr>
</table>
<?php }
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
update_user_meta( $user_id, 'facebook', $_POST['facebook'] );
}
?>

راستی برای فراخوانیش هم :


get_the_author_meta('facebook');

  • امتیاز 2
لینک به ارسال

اضافه کردن داخل خود شناسنامه کاربران در پیشخوان !

مشکل اینه که اضافه نمیشه تو پیشخوان

لینک به ارسال

در صفحه ویرایش اطلاعات کاربران یک فیلد اضافه بشه مثلاْ زیر آدرس وبلاگ یا زیر نام یا ...

لینک به ارسال

خب این کدی که معرفی کردم هم دقیقا در صفحه ویرایش شناسنامه کاربران در آخر صفحه فیلد جدید اضافه می کنه.

لینک به ارسال

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

تشکر

  • امتیاز 1
لینک به ارسال

آره من روی قالب twentytwelve امتحان کردم، به نظرم debug وردپرس رو فعال کنید، ممکنه بتونید مشکلو پیدا کنید.

  • امتیاز 1
لینک به ارسال
  • 1 سال بعد...

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


<?php
add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>New field</h3>
<table class="form-table">
<tr>
<th><label for="facebook">Facebook</label></th>
<td>
<input type="text" name="facebook" id="facebook" value="<?php echo esc_attr( get_the_author_meta( 'facebook', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Enter your Facebook full profile address.</span>
</td>
</tr>
</table>
<?php }
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
update_user_meta( $user_id, 'facebook', $_POST['facebook'] );
}
?>

برای یک بار درست جواب میده

ولی وقتی ازش کپی میگیرم و facebook رو به یه اسم دیگه تغییر میدم

ایراد میگیره

مثلا ما اگه بخوایم 4 تا فیلد + یه تیتر برای همه این 4 تا در نظر بگیریم باید از چه کدی استفاده کنیم؟

ویرایش شده توسط awx0ne
لینک به ارسال

آقا مجید ، من میخوام بعدا این مشخصات رو توی قالب فراخوانی کنم

آیا میشه با ابن افزونه این کار رو انجام داد؟

متاسفانه عجله کردم

بله - با این کد میشه


<?php the_author_meta('meta_key'); ?>

ویرایش شده توسط awx0ne
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...