Using shortlinks with Jetpack Sharing

At present, Jetpack doesn’t use shortlinks when visitors share your content through the built-in Sharing module. With length-limited services like Twitter, this can be a problem. Take, for example, https://ethitter.com/2013/05/using-shortlinks-with-jetpack-sharing/ versus http://eth.pw/s; the latter frees up many more precious characters.

Thankfully, the folks who built the Sharing module provided a filter to override the link used with the sharing buttons.

Add this snippet of code to your theme’s functions.php file, or a file in your site’s wp-content/mu-plugins directory, and your visitors will be sharing with shortlinks in no time.

/**<br />
 * Force Jetpack's Sharing module to use a shortlink rather than full permalink<br />
 *<br />
 * From http://eth.pw/s<br />
 *<br />
 * @param string $url<br />
 * @param int $post_id<br />
 * @uses wp_get_shortlink<br />
 * @filter sharing_permalink<br />
 * @return string<br />
 */<br />
function eth_sharedaddy_shortlink( $url, $post_id ) {<br />
	return wp_get_shortlink( $post_id );<br />
}<br />
add_filter( 'sharing_permalink', 'eth_sharedaddy_shortlink', 10, 2 );

Note that the Publicize module, which handles automatically sharing your content to your own connected social media accounts, does use shortlinks already; therefore, the code snippet above won’t have any impact on Publicize.

Also, I opted not to make this a plugin in anticipation of Jetpack making the switch to shortlinks at some point.