Вот код. Я обнаруживаю, что проблемы начинаются, когда bbp не обнаруживает пользователя, потому что в ядре bbp они получают идентификатор пользователя из URL-адреса, и в моем случае это не работает. Я подсчитываю необходимые фрагменты кода для выполнения. В моем случае я вставляю представление внутри конечной точки в мою учетную запись из woocommerce.
- переопределяет функцию, в которой скрипты получают данные.
- включают все необходимые сценарии.
- Вставить в мою функцию.
Я использую этот фильтр, чтобы bp_attachment_avatar_script_data
/**
* Override the avatar script data
*
* @param $script_data
* @param $object
*
* @return int
*/
public function noys_avatar_script_data($script_data, $object) {
$user_id = get_current_user_id();
if (! empty($user_id)) {
// Should we load the the Webcam Avatar javascript file.
if (bp_avatar_use_webcam()) {
$script_data['extra_js'] = array_merge($script_data['extra_js'], array('bp-webcam'));
}
$script_data['bp_params'] = array(
'object' => 'user',
'item_id' => $user_id,
'has_avatar' => bp_get_user_has_avatar($user_id),
'nonces' => array(
'set' => wp_create_nonce('bp_avatar_cropstore'),
'remove' => wp_create_nonce('bp_delete_avatar_link'),
),
);
// Set feedback messages.
$script_data['feedback_messages'] = array(
1 => __('There was a problem cropping your profile photo.', 'buddypress'),
2 => __('Your new profile photo was uploaded successfully.', 'buddypress'),
3 => __('There was a problem deleting your profile photo. Please try again.', 'buddypress'),
4 => __('Your profile photo was deleted successfully!', 'buddypress'),
);
}
return $script_data;
}
И это моя функция, чтобы включить содержимое в WooCommerce конечной точке.
/**
* Endpoint HTML content.
*/
public function profile_picture_endpoints_content1() {
$bd = buddypress();
bp_core_register_common_scripts();
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
bp_core_add_jquery_cropper();
bp_attachments_enqueue_scripts('BP_Attachment_Avatar');
bp_attachments_get_template_part('avatars/index');
}
Это все, что мне нужно для решения этой недокументированной проблемы!
У меня была такая же проблема, но я еще не нашел решение. Если я найду сообщение здесь! – gfirem