วิธีรับลิงค์โปรไฟล์ผู้ใช้ buddypress และฟิลด์โปรไฟล์ผู้ใช้เฉพาะสำหรับผู้โพสต์ปัจจุบัน


16

ฉันต้องการแทนที่ get_author_link () และ get_the_author_meta ($ feld)

ด้วยสิ่งที่เทียบเท่าชี้ไปที่ผู้เขียนโพสต์ปัจจุบันหน้าโปรไฟล์ผู้ใช้ Buddypress และดึงข้อมูลรายละเอียดเฉพาะจากหน้า Buddypress

เช่นฉันต้องการแสดงลิงก์ไปยังโปรไฟล์ผู้ใช้โพสต์และประวัติจากหนึ่งในโปรไฟล์โปรไฟล์ BP ของเขา

ฉันไม่แน่ใจว่าควรใช้ฟังก์ชั่นใด ... เอกสารประกอบ BuddyPress ยังไม่ชัดเจนเหมือน WP Codex ...

ขอบคุณ

คำตอบ:


20

สำหรับลิงค์โปรไฟล์ของผู้เขียนให้ใช้

bp_core_get_user_domain( $user_id )

เพื่อรับ URL และ

bp_core_get_userlink( $user_id )

เพื่อรับองค์ประกอบลิงค์ HTML รวมถึงชื่อที่แสดง

สำหรับข้อมูล xprofile ให้ใช้

xprofile_get_field_data( $field, $user_id )

$field สามารถเป็นชื่อของฟิลด์ (เช่น 'ชีวประวัติ') หรือรหัสฟิลด์ตัวเลข


3

มันแตกต่างกันเล็กน้อย แต่เนื่องจากหัวข้อนี้ปรากฏขึ้นเป็นครั้งแรกบน Google อาจเป็นประโยชน์สำหรับคนอื่น

หากต้องการรับลิงก์โปรไฟล์ผู้ใช้ที่ล็อกอินปัจจุบันเพียงใช้ bp_loggedin_user_domain()

หวังว่าจะช่วย


2

หากคุณต้องการเพิ่มในความคิดเห็น:

    <?php
$author_id = get_comment(get_comment_ID())->user_id;
if (function_exists('bp_get_profile_field_data')) {
    $bp_name = bp_core_get_userlink( $author_id );
    $bp_location = bp_get_profile_field_data('field=Location&user_id='.$author_id);
    if ($bp_name) {
    echo '<div>'. $bp_name . '</div>';
    }
    if ($bp_location) {
    echo '<div class="authorinfo">'. $bp_location . '</div>';
    }
}
?>

ฉันรวม 'โปรไฟล์' ฟิลด์โปรไฟล์ตัวอย่างซึ่งอาจถูกลบออก นี่คือการแสดงลิงก์ไปยังโปรไฟล์ Buddypress ของผู้เขียนความคิดเห็น จะต้องอยู่ในลูปความคิดเห็นของคุณซึ่งจะมีลักษณะดังนี้:

foreach($comments as $comment)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.