🔥جمعه سیاه در راکت با (( ۷۰ درصد )) تخفیف! این فرصت دیگه تکرار نمیشه
مشاهده دورههاسلام دوستان عزیز
چطور میتونم فیلد های بیشتری رو داخل پروفایل کاربر های وردپرس اضافه کنم و داخل دیتا بیس ذخیره کنم
ممنون میشم راهنمایی کنید

سلام وقتتون بخیر
این مورد کاملا بسته به نیاز و کاربرد مورد نظر شما متغییره، اما ساده ترین حالت برای ایجاد فیلد داخل قسمت ویرایش کاربران اضافه کردن کد زیر به فایل function.php قالب شماست :
add_action( 'show_user_profile', 'crf_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'crf_show_extra_profile_fields' );
function crf_show_extra_profile_fields( $user ) {
$year = get_the_author_meta( 'year_of_birth', $user->ID );
?>
<h3><?php esc_html_e( 'Personal Information', 'crf' ); ?></h3>
<table class="form-table">
<tr>
<th><label for="year_of_birth"><?php esc_html_e( 'Year of birth', 'crf' ); ?></label></th>
<td>
<input type="number"
min="1900"
max="2017"
step="1"
id="year_of_birth"
name="year_of_birth"
value="<?php echo esc_attr( $year ); ?>"
class="regular-text"
/>
</td>
</tr>
</table>
<?php
}
با اضافه کردن این کد، سکشنی با نام Personal Information و فیلدی با عنوان Year of birth در قسمت ویرایش پروفایل ایجاد میگردد که یک ورودی از نوع number با حداقل ورودی 1900 و حداکثر ورودی 2017 با استپ شمارنده 1 ایجاد میکند.
حالا با اضافه کردن کد زیر به همون فایل function.php قالبتون، میتونید هر داده ای که در فرم وارد شد را در دیتابیس ذخیره کنید :
add_action( 'personal_options_update', 'crf_update_profile_fields' );
add_action( 'edit_user_profile_update', 'crf_update_profile_fields' );
function crf_update_profile_fields( $user_id ) {
if ( ! current_user_can( 'edit_user', $user_id ) ) {
return false;
}
if ( ! empty( $_POST['year_of_birth'] ) && intval( $_POST['year_of_birth'] ) >= 1900 ) {
update_user_meta( $user_id, 'year_of_birth', intval( $_POST['year_of_birth'] ) );
}
}
برای راهنمایی بیشتر میتونید از این لینک استفاده کنید:
https://www.cssigniter.com/how-to-add-a-custom-user-field-in-wordpress
@Mr.Alidoosti
ممنون
من از این پلاگین "User Extra Fields نسخه پرمیوم" استفاده کردم خیلی عالی بود
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟