आप उस गतिविधि को प्राप्त करने के लिए एक प्रश्न लिख सकते हैं। वहाँ भी एक फिल्टर के बाद अवतार अपलोड की गई है आप हुक कर सकते हैं जो में बुलाया जाएगा है (जो बाद में समझाया गया है):
<?php
global $wpdb;
$query = "SELECT * FROM {$wpdb->prefix}bp_activity WHERE " .
"`type` = 'new_avatar' AND `user_id` = %d " .
"ORDER BY `date_recorded` DESC LIMIT 1";
$result =
$wpdb->get_row(
$wpdb->prepare($query, $user_id)
);
if ($result) {
// found an activity item for avatar upload
var_dump($result);
} else {
// user has not uploaded an avatar
}
परिणाम लगता है:
stdClass Object
(
[id] => 2 <-- this is the activity ID
[user_id] => 1
[component] => profile
[type] => new_avatar
[action] => admin changed their profile picture
[content] =>
[primary_link] => http://example.com/wordpress/members/admin/
[item_id] => 0
[secondary_item_id] => 0
[date_recorded] => 2016-03-29 04:41:53
[hide_sitewide] => 0
[mptt_left] => 0
[mptt_right] => 0
[is_spam] => 0
)
वहाँ एक कार्रवाई है कि आप जो कहा जाता है उस गतिविधि में होने पर इसे हुक कर दिया जा सकता है। यह xprofile_avatar_uploaded
है और यह दो पैरामीटर, $item_id
(उपयोगकर्ता आईडी), और $type
(उदा। फसल या कैमरा) पास करता है। अवतार अपलोड होने के बाद यह फ़िल्टर निष्पादित किया जाता है।
अपने कार्यों में
कहीं, जोड़ें:
add_action('xprofile_avatar_uploaded', 'callback');
function callback($user_id, $type)
{
// $user_id uploaded new avatar
}
मैंने पाया आप भी कॉल कर सकते हैं:
$img = bp_get_activity_avatar(['user_id' => $user_id]);
एचटीएमएल अवतार प्रदर्शित करने के लिए मिलता है। वे wp-content/uploads/avatars
में संग्रहीत हैं।
तुम भी कॉल कर सकते हैं:
$url = bp_core_fetch_avatar(['item_id' => $user_id, 'html' => false]);
अवतार का सिर्फ पूर्ण URL प्राप्त करने के लिए।
उन्होंने इसे सही हल किया? – GeorgeWL