';
return $content;
}
/**
* Add allowed HTML tags for link previews in BuddyPress activity content.
*
* @param array $tags Allowed HTML tags.
* @return array Modified allowed tags.
*/
function bp_activity_link_preview_allowed_tags( $tags ) {
$tags['div'] = array(
'class' => array(),
'id' => array(),
'style' => array(),
'data-url' => array(),
'data-href' => array(),
'data-width' => array(),
'data-height' => array(),
);
$tags['img'] = array(
'src' => array(),
'alt' => array(),
'width' => array(),
'height' => array(),
'class' => array(),
'id' => array(),
);
$tags['button'] = array(
'type' => array(),
'id' => array(),
'class' => array(),
);
$tags['span'] = array(
'class' => array(),
'id' => array(),
);
$tags['i'] = array(
'class' => array(),
'id' => array(),
);
return $tags;
}
/**
* Embed bp activity link preview data in rest api activity endpoint.
*
* @param WP_REST_Response $response The response object.
* @param WP_REST_Request $request The request object.
* @param BP_Activity_Activity $activity The activity object.
* @return WP_REST_Response Modified response.
*/
function bp_activity_link_preview_data_embed_rest_api( $response, $request, $activity ) {
$bp_activity_link_data = bp_activity_get_meta( $activity->id, '_bp_activity_link_preview_data', true );
$response->data['bp_activity_link'] = $bp_activity_link_data;
// Add comment link preview data if it's a comment.
if ( 'activity_comment' === $activity->type ) {
$bp_activity_comment_link_data = bp_activity_get_meta( $activity->id, '_bp_activity_comment_link_preview_data', true );
$response->data['bp_activity_comment_link'] = $bp_activity_comment_link_data;
}
return $response;
}
/**
* Outputs a Facebook root div element in specific BuddyPress contexts.
*/
function bp_activity_link_preview_add_facebook_root_div() {
if ( bp_is_activity_directory() || bp_is_group() || bp_is_user_activity() ) {
echo '