اضافه کردن فیلد جدید به پروفایل کاربران وردپرس

1 هفته پیش توسط Morteza Khodarahmi آپدیت شد
آفلاین
user-avatar
Morteza Khodarahmi ( 3840 تجربه )
1 هفته پیش
تخصص : Backend Developer

لینک کوتاه اشتراک گذاری

0

سلام دوستان عزیز
چطور میتونم فیلد های بیشتری رو داخل پروفایل کاربر های وردپرس اضافه کنم و داخل دیتا بیس ذخیره کنم
ممنون میشم راهنمایی کنید
توضیح تصویر رو وارد کنید

آفلاین
user-avatar
Mr.Alidoosti ( 50 تجربه )
1 هفته پیش
تخصص : متخصص وردپرس

لینک کوتاه اشتراک گذاری

0

سلام وقتتون بخیر

این مورد کاملا بسته به نیاز و کاربرد مورد نظر شما متغییره، اما ساده ترین حالت برای ایجاد فیلد داخل قسمت ویرایش کاربران اضافه کردن کد زیر به فایل 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

آفلاین
user-avatar
Morteza Khodarahmi ( 3840 تجربه )
1 هفته پیش
تخصص : Backend Developer

لینک کوتاه اشتراک گذاری

0

@Mr.Alidoosti
ممنون
من از این پلاگین "User Extra Fields نسخه پرمیوم" استفاده کردم خیلی عالی بود

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.