หน้าโปรไฟล์ผู้ใช้มีฟิลด์ต่อไปนี้:
ชื่อผู้ใช้
ชื่อ
นามสกุล
ชื่อเล่นชื่อที่ติดต่อข้อมูลอีเมลเว็บไซต์ AIM Yahoo IM
Jabber / Google Talk
สามารถเพิ่มฟิลด์เพิ่มเติมลงในส่วนนี้ได้อย่างไร ฟิลด์เช่นหมายเลขโทรศัพท์ที่อยู่หรือสิ่งอื่นใด
หน้าโปรไฟล์ผู้ใช้มีฟิลด์ต่อไปนี้:
ชื่อผู้ใช้
ชื่อ
นามสกุล
ชื่อเล่นชื่อที่ติดต่อข้อมูลอีเมลเว็บไซต์ AIM Yahoo IM
Jabber / Google Talk
สามารถเพิ่มฟิลด์เพิ่มเติมลงในส่วนนี้ได้อย่างไร ฟิลด์เช่นหมายเลขโทรศัพท์ที่อยู่หรือสิ่งอื่นใด
คำตอบ:
คุณจำเป็นต้องใช้'show_user_profile'
, 'edit_user_profile'
, 'personal_options_update'
และ'edit_user_profile_update'
ตะขอ
นี่คือรหัสเพื่อเพิ่มหมายเลขโทรศัพท์ :
add_action( 'show_user_profile', 'yoursite_extra_user_profile_fields' );
add_action( 'edit_user_profile', 'yoursite_extra_user_profile_fields' );
function yoursite_extra_user_profile_fields( $user ) {
?>
<h3><?php _e("Extra profile information", "blank"); ?></h3>
<table class="form-table">
<tr>
<th><label for="phone"><?php _e("Phone"); ?></label></th>
<td>
<input type="text" name="phone" id="phone" class="regular-text"
value="<?php echo esc_attr( get_the_author_meta( 'phone', $user->ID ) ); ?>" /><br />
<span class="description"><?php _e("Please enter your phone."); ?></span>
</td>
</tr>
</table>
<?php
}
add_action( 'personal_options_update', 'yoursite_save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'yoursite_save_extra_user_profile_fields' );
function yoursite_save_extra_user_profile_fields( $user_id ) {
$saved = false;
if ( current_user_can( 'edit_user', $user_id ) ) {
update_user_meta( $user_id, 'phone', $_POST['phone'] );
$saved = true;
}
return true;
}
รหัสนั้นจะเพิ่มเขตข้อมูลไปยังหน้าจอผู้ใช้ของคุณที่มีลักษณะดังนี้:
นอกจากนี้ยังมีบล็อกโพสต์หลายหัวข้อที่อาจเป็นประโยชน์:
หรือถ้าคุณไม่ต้องการสะสมตัวเองมีปลั๊กอินที่เพิ่มคุณสมบัติดังกล่าวดังต่อไปนี้(แม้ว่าฉันแน่ใจว่ามีคนอื่น):
// remove aim, jabber, yim
function hide_profile_fields( $contactmethods ) {
unset($contactmethods['aim']);
unset($contactmethods['jabber']);
unset($contactmethods['yim']);
return $contactmethods;
}
// add anything else
function my_new_contactmethods( $contactmethods ) {
//add Birthday
$contactmethods['birthday'] = 'Birthday';
//add Address
$contactmethods['address'] = 'Address';
//add City
$contactmethods['city'] = 'City';
//add State
$contactmethods['state'] = 'State';
//add Postcode
$contactmethods['postcode'] = 'Postcode';
//add Phone
$contactmethods['phone'] = 'Phone';
//add Mobilphone
$contactmethods['mphone'] = 'Mobilphone';
return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);
add_filter('user_contactmethods','hide_profile_fields',10,1);
หวังว่านี่จะช่วยได้
ที่มา: WPBeginner