diff --git src/bp-activity/bp-activity-filters.php src/bp-activity/bp-activity-filters.php
index 1e57372ee..b5308821a 100644
--- src/bp-activity/bp-activity-filters.php
+++ src/bp-activity/bp-activity-filters.php
@@ -31,9 +31,7 @@ add_filter( 'bp_get_activity_feed_item_description', 'force_balance_tags' );
 add_filter( 'bp_activity_content_before_save',       'force_balance_tags' );
 add_filter( 'bp_activity_action_before_save',        'force_balance_tags' );
 
-if ( function_exists( 'wp_encode_emoji' ) ) {
-	add_filter( 'bp_activity_content_before_save', 'wp_encode_emoji' );
-}
+add_filter( 'bp_activity_content_before_save', 'wp_encode_emoji' );
 
 add_filter( 'bp_get_activity_action',                'wptexturize' );
 add_filter( 'bp_get_activity_content_body',          'wptexturize' );
diff --git src/bp-blogs/bp-blogs-functions.php src/bp-blogs/bp-blogs-functions.php
index 8b7e5f237..d66589cc9 100644
--- src/bp-blogs/bp-blogs-functions.php
+++ src/bp-blogs/bp-blogs-functions.php
@@ -575,7 +575,7 @@ function bp_blogs_delete_url_blogmeta( $site_id = 0 ) {
 	bp_blogs_delete_blogmeta( (int) $site_id, 'url' );
 }
 
-if ( function_exists( 'wp_switch_roles_and_user' ) ) {
+if ( bp_is_running_wp( '4.9.0' ) ) {
 	add_action( 'clean_site_cache', 'bp_blogs_delete_url_blogmeta' );
 } else {
 	add_action( 'refresh_blog_details', 'bp_blogs_delete_url_blogmeta' );
diff --git src/bp-core/bp-core-blocks.php src/bp-core/bp-core-blocks.php
index f2f7a8c2c..62e408060 100644
--- src/bp-core/bp-core-blocks.php
+++ src/bp-core/bp-core-blocks.php
@@ -19,7 +19,7 @@ defined( 'ABSPATH' ) || exit;
  *              False otherwise.
  */
 function bp_support_blocks() {
-	return function_exists( 'register_block_type' ) && bp_rest_api_is_available();
+	return bp_is_running_wp( '5.0.0' ) && bp_rest_api_is_available();
 }
 
 /**
diff --git src/bp-core/bp-core-catchuri.php src/bp-core/bp-core-catchuri.php
index 198d42393..df857d464 100644
--- src/bp-core/bp-core-catchuri.php
+++ src/bp-core/bp-core-catchuri.php
@@ -463,7 +463,7 @@ function bp_core_load_template( $templates ) {
 	 * Wiping out the bp-default template allows WordPress to use their special
 	 * embed template, which is what we want.
 	 */
-	if ( function_exists( 'is_embed' ) && is_embed() ) {
+	if ( is_embed() ) {
 		$located_template = '';
 	}
 
diff --git src/bp-core/bp-core-functions.php src/bp-core/bp-core-functions.php
index 21190f48d..2b8f0b594 100644
--- src/bp-core/bp-core-functions.php
+++ src/bp-core/bp-core-functions.php
@@ -70,6 +70,19 @@ function bp_db_version_raw() {
 		return !empty( $bp->db_version_raw ) ? $bp->db_version_raw : 0;
 	}
 
+/**
+ * Check whether the current version of WP exceeds a given version.
+ *
+ * @since 7.0.0
+ *
+ * @param string $version WP version, in "PHP-standardized" format.
+ * @param string $compare Optional. Comparison operator. Default '>='.
+ * @return bool
+ */
+function bp_is_running_wp( $version, $compare = '>=' ) {
+	return version_compare( $GLOBALS['wp_version'], $version, $compare );
+}
+
 /** Functions *****************************************************************/
 
 /**
@@ -3134,7 +3147,7 @@ function bp_register_type_meta( $type_tax, $meta_key, array $args ) {
 	}
 
 	// register_term_meta() was introduced in WP 4.9.8.
-	if ( ! function_exists( 'register_term_meta' ) ) {
+	if ( ! bp_is_running_wp( '4.9.8' ) ) {
 		$args['object_subtype'] = $type_tax;
 
 		return register_meta( 'term', $meta_key, $args );
@@ -3538,7 +3551,7 @@ function bp_email_get_appearance_settings() {
 		)
 	);
 
-	if ( version_compare( $GLOBALS['wp_version'], '4.9.6', '>=' ) ) {
+	if ( bp_is_running_wp( '4.9.6' ) ) {
 		$privacy_policy_url = get_privacy_policy_url();
 		if ( $privacy_policy_url ) {
 			$footer_text[] = sprintf(
diff --git src/bp-core/bp-core-rest-api.php src/bp-core/bp-core-rest-api.php
index 3246b10b4..40771ef34 100644
--- src/bp-core/bp-core-rest-api.php
+++ src/bp-core/bp-core-rest-api.php
@@ -56,7 +56,7 @@ function bp_rest_api_is_available() {
 	 *
 	 * @param boolean $value True if the BP REST API is available. False otherwise.
 	 */
-	return apply_filters( 'bp_rest_api_is_available', function_exists( 'create_initial_rest_routes' ) && bp_rest_in_buddypress() ) || bp_rest_is_plugin_active();
+	return apply_filters( 'bp_rest_api_is_available', bp_is_running_wp( '4.7.0' ) && bp_rest_in_buddypress() ) || bp_rest_is_plugin_active();
 }
 
 /**
diff --git src/bp-core/bp-core-theme-compatibility.php src/bp-core/bp-core-theme-compatibility.php
index 787c6b5b0..f6a40e22b 100644
--- src/bp-core/bp-core-theme-compatibility.php
+++ src/bp-core/bp-core-theme-compatibility.php
@@ -665,7 +665,7 @@ function bp_theme_compat_reset_post( $args = array() ) {
  */
 function bp_template_include_theme_compat( $template = '' ) {
 	// If embed template, bail.
-	if ( true === function_exists( 'is_embed' ) && is_embed() ) {
+	if ( is_embed() ) {
 		return $template;
 	}
 
diff --git src/bp-core/classes/class-bp-admin.php src/bp-core/classes/class-bp-admin.php
index a7823ab0e..d0c0fa800 100644
--- src/bp-core/classes/class-bp-admin.php
+++ src/bp-core/classes/class-bp-admin.php
@@ -562,7 +562,7 @@ class BP_Admin {
 	 */
 	public function add_privacy_policy_content() {
 		// Nothing to do if we're running < WP 4.9.6.
-		if ( version_compare( $GLOBALS['wp_version'], '4.9.6', '<' ) ) {
+		if ( bp_is_running_wp( '4.9.6', '<' ) ) {
 			return;
 		}
 
diff --git src/bp-core/classes/class-bp-embed.php src/bp-core/classes/class-bp-embed.php
index b605ae700..4b1d160f5 100644
--- src/bp-core/classes/class-bp-embed.php
+++ src/bp-core/classes/class-bp-embed.php
@@ -117,14 +117,9 @@ class BP_Embed extends WP_Embed {
 		 */
 		$id = apply_filters( 'embed_post_id', 0 );
 
-		$unfiltered_html   = current_user_can( 'unfiltered_html' );
-		$default_discovery = false;
-
 		// Since 4.4, WordPress is now an oEmbed provider.
-		if ( function_exists( 'wp_oembed_register_route' ) ) {
-			$unfiltered_html   = true;
-			$default_discovery = true;
-		}
+		$unfiltered_html   = true;
+		$default_discovery = true;
 
 		/**
 		 * Filters whether or not oEmbed discovery is on.
diff --git src/bp-groups/bp-groups-cssjs.php src/bp-groups/bp-groups-cssjs.php
index a160fa3ee..4a2221486 100644
--- src/bp-groups/bp-groups-cssjs.php
+++ src/bp-groups/bp-groups-cssjs.php
@@ -50,7 +50,7 @@ function bp_groups_get_group_manage_members_script_data( $group_id = 0 ) {
 	);
 
 	$preloaded_members = array();
-	if ( function_exists( 'rest_preload_api_request' ) ) {
+	if ( bp_is_running_wp( '5.0.0' ) ) {
 		$preloaded_members = rest_preload_api_request( '', $path );
 	}
 
diff --git src/bp-groups/bp-groups-filters.php src/bp-groups/bp-groups-filters.php
index a3bd2e70f..29b424d20 100644
--- src/bp-groups/bp-groups-filters.php
+++ src/bp-groups/bp-groups-filters.php
@@ -53,9 +53,7 @@ add_filter( 'groups_group_name_before_save',        'trim' );
 add_filter( 'groups_group_description_before_save', 'trim' );
 
 // Support emoji.
-if ( function_exists( 'wp_encode_emoji' ) ) {
-	add_filter( 'groups_group_description_before_save', 'wp_encode_emoji' );
-}
+add_filter( 'groups_group_description_before_save', 'wp_encode_emoji' );
 
 // Escape output of new group creation details.
 add_filter( 'bp_get_new_group_name',        'esc_attr'     );
diff --git src/bp-members/bp-members-template.php src/bp-members/bp-members-template.php
index b6dac6b9e..e202ea11b 100644
--- src/bp-members/bp-members-template.php
+++ src/bp-members/bp-members-template.php
@@ -2416,7 +2416,7 @@ function bp_signup_avatar_dir_value() {
  */
 function bp_signup_requires_privacy_policy_acceptance() {
 	// Bail if we're running a version of WP that doesn't have the Privacy Policy feature.
-	if ( version_compare( $GLOBALS['wp_version'], '4.9.6', '<' ) ) {
+	if ( bp_is_running_wp( '4.9.6', '<' ) ) {
 		return false;
 	}
 
diff --git src/bp-messages/bp-messages-filters.php src/bp-messages/bp-messages-filters.php
index fad054023..14c20a1f9 100644
--- src/bp-messages/bp-messages-filters.php
+++ src/bp-messages/bp-messages-filters.php
@@ -32,12 +32,10 @@ add_filter( 'messages_message_subject_before_save', 'force_balance_tags' );
 add_filter( 'messages_notice_message_before_save',  'force_balance_tags' );
 add_filter( 'messages_notice_subject_before_save',  'force_balance_tags' );
 
-if ( function_exists( 'wp_encode_emoji' ) ) {
-	add_filter( 'messages_message_subject_before_save', 'wp_encode_emoji' );
-	add_filter( 'messages_message_content_before_save', 'wp_encode_emoji' );
-	add_filter( 'messages_notice_message_before_save',  'wp_encode_emoji' );
-	add_filter( 'messages_notice_subject_before_save',  'wp_encode_emoji' );
-}
+add_filter( 'messages_message_subject_before_save', 'wp_encode_emoji' );
+add_filter( 'messages_message_content_before_save', 'wp_encode_emoji' );
+add_filter( 'messages_notice_message_before_save',  'wp_encode_emoji' );
+add_filter( 'messages_notice_subject_before_save',  'wp_encode_emoji' );
 
 add_filter( 'bp_get_message_notice_subject',     'wptexturize' );
 add_filter( 'bp_get_message_notice_text',        'wptexturize' );
diff --git src/bp-settings/bp-settings-functions.php src/bp-settings/bp-settings-functions.php
index bca439157..02eafb288 100644
--- src/bp-settings/bp-settings-functions.php
+++ src/bp-settings/bp-settings-functions.php
@@ -249,7 +249,7 @@ function bp_settings_get_personal_data_request( $user_id = 0 ) {
 
 	if ( ! empty( $query->post ) ) {
 		// WP 5.4 changed the user request function name to wp_get_user_request()
-		$user_request = function_exists( 'wp_get_user_request' ) ? 'wp_get_user_request' : 'wp_get_user_request_data';
+		$user_request = bp_is_running_wp( '4.9.6' ) ? 'wp_get_user_request' : 'wp_get_user_request_data';
 		return $user_request( $query->post->ID );
 	} else {
 		return false;
diff --git src/bp-settings/classes/class-bp-settings-component.php src/bp-settings/classes/class-bp-settings-component.php
index dda4a928d..e48747f81 100644
--- src/bp-settings/classes/class-bp-settings-component.php
+++ src/bp-settings/classes/class-bp-settings-component.php
@@ -193,7 +193,7 @@ class BP_Settings_Component extends BP_Component {
 		$show_data_page = apply_filters( 'bp_settings_show_user_data_page', true );
 
 		// Export Data - only available for WP 4.9.6+.
-		if ( true === $show_data_page && version_compare( $GLOBALS['wp_version'], '4.9.6', '>=' ) ) {
+		if ( true === $show_data_page && bp_is_running_wp( '4.9.6' ) ) {
 			$sub_nav[] = array(
 				'name'            => __( 'Export Data', 'buddypress' ),
 				'slug'            => 'data',
@@ -268,7 +268,7 @@ class BP_Settings_Component extends BP_Component {
 			$show_data_page = apply_filters( 'bp_settings_show_user_data_page', true );
 
 			// Export Data.
-			if ( true === $show_data_page && version_compare( $GLOBALS['wp_version'], '4.9.6', '>=' ) ) {
+			if ( true === $show_data_page && bp_is_running_wp( '4.9.6' ) ) {
 				$wp_admin_nav[] = array(
 					'parent'   => 'my-account-' . $this->id,
 					'id'       => 'my-account-' . $this->id . '-data',
