Or, embed this snippet using GenerateWP WordPress Plugin.

Download

Clone

LINK with class, fontawesome icon

Use like this:
[kib_icon_link url=”http://www.go.somewhere” icon=”credit-card” size=”big”]Your content[another_shortcode_if_you_want] [/kib_icon_link]

// Add Shortcode
function kib_icon_linkshortcode( $atts , $content = null ) {

	// Code
	// Attributes
	extract( shortcode_atts(
		array(
			'size' => 'medium',
			'icon' => 'none',
			'url' => '',
			'class' => '',
		), $atts )
	);
	$valid_sizes = array('small', 'medium', 'big');

	$url = esc_url( $atts['url'] ); 
	$class = sanitize_html_class( $atts['class'], '' ); 
	
	$icon = sanitize_html_class( $atts['icon'], 'none' ); 
	$size = $the_icon = '';


	if( in_array( $attrs['size'], $valid_sizes) ) $size = ' ' . $attrs['size'];
	if( $icon != 'none' ) $the_icon = '<i class="fa fa-'.$icon.'"></i>';
	if($class != '') $class = ' ' . $class; // adds a space before the extra classes
	if( $atts['url'] == '' ) { 
		return '<span class="kib-icon-link' . $size . $class . '">'. $the_icon . ' ' . do_shortcode( $content ) . '</span>' ;
	}
	return '<a href="' . $url . '" class="kib-icon-link ' . $class . '">' . $the_icon . ' ' . do_shortcode( $content ) . '</a>' ;

}
add_shortcode( 'kib_icon_link', 'kib_icon_linkshortcode' );