diff --git src/wp-includes/default-filters.php src/wp-includes/default-filters.php
index f7bfeb5..32fa8f6 100644
--- src/wp-includes/default-filters.php
+++ src/wp-includes/default-filters.php
@@ -117,6 +117,11 @@
 	add_filter( $filter, 'shortcode_unautop');
 }
 
+// Clickables
+add_filter( 'make_clickable', 'make_urls_clickable_filter',   2 );
+add_filter( 'make_clickable', 'make_ftps_clickable_filter',   4 );
+add_filter( 'make_clickable', 'make_emails_clickable_filter', 6 );
+
 // Format for RSS
 add_filter( 'term_name_rss', 'convert_chars' );
 
diff --git src/wp-includes/formatting.php src/wp-includes/formatting.php
index d285239..3c04b4a 100644
--- src/wp-includes/formatting.php
+++ src/wp-includes/formatting.php
@@ -2220,28 +2220,8 @@
 				}
 			}
 		} else {
-			$ret = " $piece "; // Pad with whitespace to simplify the regexes
-
-			$url_clickable = '~
-				([\\s(<.,;:!?])                                        # 1: Leading whitespace, or punctuation
-				(                                                      # 2: URL
-					[\\w]{1,20}+://                                # Scheme and hier-part prefix
-					(?=\S{1,2000}\s)                               # Limit to URLs less than about 2000 characters long
-					[\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]*+         # Non-punctuation URL character
-					(?:                                            # Unroll the Loop: Only allow puctuation URL character if followed by a non-punctuation URL character
-						[\'.,;:!?)]                            # Punctuation URL character
-						[\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]++ # Non-punctuation URL character
-					)*
-				)
-				(\)?)                                                  # 3: Trailing closing parenthesis (for parethesis balancing post processing)
-			~xS'; // The regex is a non-anchored pattern and does not have a single fixed starting character.
-			      // Tell PCRE to spend more time optimizing since, when used on a page load, it will probably be used several times.
-
-			$ret = preg_replace_callback( $url_clickable, '_make_url_clickable_cb', $ret );
-
-			$ret = preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
-			$ret = preg_replace_callback( '#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret );
-
+			$ret = " {$piece} "; // Pad with whitespace to simplify the regexes
+			$ret = apply_filters( 'make_clickable', $ret, $text );
 			$ret = substr( $ret, 1, -1 ); // Remove our whitespace padding.
 			$r .= $ret;
 		}
@@ -2252,6 +2232,61 @@
 }
 
 /**
+ * Make URLs clickable in content areas
+ *
+ * @since 4.6.0
+ * @access private
+ *
+ * @param  string $text
+ * @return string
+ */
+function make_urls_clickable_filter( $text = '' ) {
+	$url_clickable = '~
+		([\\s(<.,;:!?])                                # 1: Leading whitespace, or punctuation
+		(                                              # 2: URL
+			[\\w]{1,20}+://                            # Scheme and hier-part prefix
+			(?=\S{1,2000}\s)                           # Limit to URLs less than about 2000 characters long
+			[\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]*+     # Non-punctuation URL character
+			(?:                                        # Unroll the Loop: Only allow puctuation URL character if followed by a non-punctuation URL character
+				[\'.,;:!?)]                            # Punctuation URL character
+				[\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]++ # Non-punctuation URL character
+			)*
+		)
+		(\)?)                                          # 3: Trailing closing parenthesis (for parethesis balancing post processing)
+	~xS';
+
+	// The regex is a non-anchored pattern and does not have a single fixed starting character.
+	// Tell PCRE to spend more time optimizing since, when used on a page load, it will probably be used several times.
+	return preg_replace_callback( $url_clickable, '_make_url_clickable_cb', $text );
+}
+
+/**
+ * Make FTP clickable in content areas
+ *
+ * @since 4.6.0
+ * @access private
+ *
+ * @param  string $text
+ * @return string
+ */
+function make_ftps_clickable_filter( $text = '' ) {
+	return preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $text );
+}
+
+/**
+ * Make emails clickable in content areas
+ *
+ * @since 4.6.0
+ * @access private
+ *
+ * @param  string $text
+ * @return string
+ */
+function make_emails_clickable_filter( $text = '' ) {
+	return preg_replace_callback( '#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $text );
+}
+
+/**
  * Breaks a string into chunks by splitting at whitespace characters.
  * The length of each returned chunk is as close to the specified length goal as possible,
  * with the caveat that each chunk includes its trailing delimiter.
