เพิ่มคอลัมน์ที่กำหนดเองไปยังแผงผู้ดูแลระบบผู้ใช้


28

มีค่าเริ่มต้น 5 คอลัมน์ชื่อชื่อผู้ใช้ชื่ออีเมลบทบาทการโพสต์ใน USERS ตอนนี้ฉันต้องการเพิ่มอีกหนึ่งคอลัมน์ด้วยหมายเลขติดต่อของเขา

ฉันจะทำสิ่งนี้ได้อย่างไร?

ที่นี่มีกล่องดำปรากฏขึ้น


คุณมีการตั้งค่าหมายเลขโทรศัพท์หรือไม่? ฉันหมายถึงผู้ใช้ของคุณสามารถเพิ่มหมายเลขโทรศัพท์ในโปรไฟล์ของพวกเขา?
Robert hue

ไม่ .. ฉันแค่ต้องการรู้วิธีเพิ่ม .. มันไม่ได้แก้ไขหมายเลขติดต่อที่ .. เท่านั้นมันสามารถ b เพียงคอลัมน์ว่างได้ด้วย
Rohil_PHP ผู้เริ่มต้น

1
หากไซต์ของคุณมีคอลัมน์ที่กำหนดเองจำนวนมากคุณอาจสนใจปลั๊กอินที่เรียกว่าคอลัมน์ผู้ดูแลระบบ
Brian

คุณสามารถดูบล็อกนี้พร้อมคำอธิบายโดยละเอียดtekina.info/…
Aniket Singh

คำตอบ:


43

ตกลงนี่คือรหัสที่อนุญาตให้ผู้ใช้ของคุณเพิ่มหมายเลขโทรศัพท์ วางรหัสแบบเต็มนี้ในไฟล์ functions.php จะเป็นการเพิ่มฟิลด์ใหม่ในโปรไฟล์ผู้ใช้สำหรับ "หมายเลขโทรศัพท์" และเพิ่มตารางผู้ใช้คอลัมน์บนผู้ดูแลระบบ WordPress สำหรับโทรศัพท์

function new_contact_methods( $contactmethods ) {
    $contactmethods['phone'] = 'Phone Number';
    return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );


function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

แก้ไข

ในการเพิ่มสองคอลัมน์คุณต้องทำการเปลี่ยนแปลงบางอย่าง เปรียบเทียบรหัสทั้งสองเพื่อทำความเข้าใจ

function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    $column['xyz'] = 'XYZ';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        case 'xyz' :
            return '';
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

ใช้รหัสอีกครั้ง ฉันเปลี่ยนมันเพื่อให้คุณสามารถเห็นฟิลด์โทรศัพท์ในรายชื่อผู้ใช้ด้วย
Robert hue

ที่ดี! ทำงาน .. แต่ในเวลาที่เพิ่มผู้ใช้ทำไมพวกเขาไม่ถามหมายเลขโทรศัพท์?
Rohil_PHP เริ่มต้น

คุณช่วยอธิบายรหัสนี้ได้ไหม ฉันต้องการเพิ่มอีกหนึ่งช่อง แต่มันแสดงให้ฉันเห็นข้อผิดพลาด
Rohil_PHP เริ่มต้น

2
ฉันขอแนะนำให้เพิ่มสิ่งนี้ลงในปลั๊กอินเฉพาะไซต์เนื่องจากไม่มีส่วนเกี่ยวข้องกับลักษณะที่ปรากฏของชุดรูปแบบ
helgatheviking

1
ในที่สุด$user = get_userdata( $user_id );และไม่จำเป็นreturn $returnอย่างแน่นอน ตัวแปรไม่ได้ถูกใช้โดยฟังก์ชันและ$user$returnไม่ได้กำหนดไว้
LoicTheAztec
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.