Jetpack
Support Home > Developers > Social Links

Social Links

The Social Links module lets users choose profile links for their theme’s social media integration from selected services connected to Publicize. To use this you will need to:

  • Add theme support through the add_theme_support() function in your theme.
  • Use the Theme Modifications API to pull the data in to your theme template.

Adding Support

Enabling Social Links is very similar to adding support for post thumbnails or editor styles because we make use of add_theme_support(). By providing an array with slugs of the supported services as the second argument when calling add_theme_support(), Social Links will pass on just the information your theme needs. Social Links currently supports five services: Facebook, Twitter, LinkedIn, Google+, and Tumblr. Since every theme is different and certain themes might not support all services, themes need to specify services:

add_theme_support( 'social-links', array(
    'facebook', 'twitter', 'linkedin', 'google_plus', 'tumblr',
) );

Using the information

Social Links makes the information available through the Theme Modifications API. This way themes can pull that information with a call to get_theme_mod() and work with it. As a theme developer you always want to check if the user has actually set a link for that service before using it. You can rely on core’s default value of false, or pass an empty string as a second argument when you want to deal with consistent data types. We prefixed the theme modification name with 'jetpack', to not collide with any other plugin or theme functionality that might use just the service name. This is how an implementation in a template file could look, after a check if the URL was set:

<a href="<?php echo esc_url( get_theme_mod( 'jetpack-facebook' ) ); ?>">
    <?php _e( 'Facebook', 'textdomain' ); ?>
</a>

Please note that while the data is available via get_theme_mod(), it’s actually stored as a serialized value in the Jetpack Options — not as a theme mod. We’re just using some filters behind the scenes to make it more easily accessible to developers with get_theme_mod(), so you don’t need to use custom functions that could break if your users don’t have Jetpack installed!

Follow

Get every new post delivered to your Inbox.

Join 63,496 other followers