From 900307e34388e4f5bfa8e5a2994ca0cf4cdd9ba5 Mon Sep 17 00:00:00 2001 From: Ian Stewart Date: Fri, 7 Nov 2014 16:45:53 +0000 Subject: [PATCH] Twenty Fifteen: use antispambot to obfuscate email adresses in the social links menu. Props tywayne, fixes #30214. git-svn-id: https://develop.svn.wordpress.org/trunk@30270 602fd350-edb4-49c9-b593-d223f7449a82 --- .../themes/twentyfifteen/functions.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/wp-content/themes/twentyfifteen/functions.php b/src/wp-content/themes/twentyfifteen/functions.php index a5545d833f..691e4e93a8 100644 --- a/src/wp-content/themes/twentyfifteen/functions.php +++ b/src/wp-content/themes/twentyfifteen/functions.php @@ -301,6 +301,27 @@ function twentyfifteen_nav_description( $item_output, $item, $depth, $args ) { } add_filter( 'walker_nav_menu_start_el', 'twentyfifteen_nav_description', 10, 4 ); +/** +* Encode email address of mailto: links in social navigation +* +* @since Twenty Fifteen 1.0 +* +* @param array $atts HTML attributes in an associative array +* @param WP_Post $item Menu item object +* @param array $args Array containing config with desired markup of nav +* +* @return array HTML attributes for Menu item +*/ +function twentyfifteen_nav_encode_email( $atts, $item, $args ) { + if ( 'social' == $args->theme_location ) { + if ( preg_match( '/^mailto:(.+)/', $atts['href'], $match ) ) { + $atts['href'] = 'mailto:' . antispambot( $match[1] ); + } + } + return $atts; +} +add_filter( 'nav_menu_link_attributes', 'twentyfifteen_nav_encode_email', 10, 3 ); + /** * Add a `screen-reader-text` class to the search form's submit button. *