Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Social Media Manager

Lightweight, clean and optimized social media plugin for WordPress.

This plugin helps you optimize your website for social media with Open Graph and Twitter Cards meta tags. Facebook, Twitter, and other social media sites will evaluate these meta tags to understand your content better and enable to preview the content on the News Feed nicely. This plugin allows you to customize the meta tags, so you have more control over your posts and pages presentation.

Other features included in the plugin:

Social Media Buttons

Display social buttons to allow your readers sharing your website posts and pages to Facebook, Twitter, Pinterest, LinkedIn, Reddit, etc. You can also display the social buttons on the images within the content.

With the increasing trend on using WordPress as a headless CMS, this plugin also exposes a couple of custom JSON API routes using the WP-API infrastructure in WordPress. The API allows developers to retrieve the social media sharing endpoint URLs of a particular post or page and render the sharing buttons in, for example, a JavaScript-based theme.

Social Media Profiles

With this plugin you can add your social profile and page URLs and display them on a widget. No need to mess around with your theme Menu ever again; the widget will stay there even when you've changed the theme.


  • English
  • Indonesian

Translate this plugin to your language on


  • PHP 5.3 or higher
  • WordPress 4.5 or higher
Author NineCodes
Contributors ninecodes, tfirdaus, hongkiat
Tags Facebook, json, open graph, pinterest, sharing, social media, twitter, twitter cards, widget, wp-api
  1. ninecodes-social-manager screenshot 1

    The plugin settings page.

  2. ninecodes-social-manager screenshot 2

    The plugin custom meta box to enable or disable social buttons on the content and images.

  3. ninecodes-social-manager screenshot 3

    Social media profile widget settings.

  4. ninecodes-social-manager screenshot 4

    Social media profile widget view on the front-end.

  5. ninecodes-social-manager screenshot 5

    Social buttons to share the content.

  6. ninecodes-social-manager screenshot 6

    Social buttons to share the content image.

WordPress Plugins Directory (Recommended):

  1. Visit Plugins > Add New
  2. Search for Social Media Manager
  3. On the search result, click the "Install Now" button of Social Media Manager by NineCodes
  4. Activate Social Media Manager from the Plugins page.

Manual Upload:

  1. Download the plugin .zip archive.
  2. Visit Plugins > Add New
  3. Click Upload Plugin
  4. Click Choose File, and select the plugin .zip package you have just downloaded.
  5. Click Install Now.
  6. Activate Social Media Manager from the Plugins page.

FTP Upload:

If none of the above ways work, though it will be less convenient, you can try installing the plugin via FTP (File Transfer Protocol). To do this, you will need an FTP software installed on your computer, such as:

Then, login to your server with the credentials given by your hosting provider.

  1. Download the plugin .zip archive.
  2. Unzip the archive and upload the ninecodes-social-manager folder into the plugin folder (/wp-content/plugins/).
  3. Activate Social Media Manager from the Plugins page.

Once Activated:

  1. This plugin adds a new setting page named Social under the Settings menu in the WordPress admin screen. You can customize the output made by the plugin through this page.
  2. This plugin also adds some extra fields in the user profile edit screen (/wp-admin/profile.php).
  3. This plugin registers a custom route at /ninecodes/v1/social-manager/buttons.

[1.1.2] - 2017-02-05

  • Added: kses_icon function to sanitize icon output.
  • Changed: The plugin screenshot showing the Profiles screen in the Social Media Setting page.
  • Changed: Translator comments in a number translate-able strings with more than one type identifiers.
  • Fixed: Namespace for backward compatibility.

[1.1.1] - 2017-02-03

  • Fixed: The template tags, the_author_social_profiles and the_site_social_profiles, output sanitization.

[1.1.0] - 2017-01-25

  • Added: get_the_site_social_profiles and the_site_social_profiles template tag to show the social profile on an arbitrary location within the theme.
  • Added: get_the_author_social_profiles and the_author_social_profiles template tag to show the social profile of specified author on an arbitrary location within the theme.
  • Added: New social media meta tags such as article:section, article:tag, article:published_date, and article:modified_date.
  • Added: Aliases for add_theme_supports name.
  • Changed: Improved Filter hooks of the Icons.
  • Changed: Setting menu label to "Social Media", instead of just "Social".
  • Changed: Setting screen title to "Social Media Settings", instead of just "Social Settings".
  • Changed: A few option inputs description and labels for better UX.

[1.0.6] - 2017-01-10

  • Added: Add "Settings" link in the plugin Table List.
  • Changed: Improved /buttons API by extending WP_REST_Controller.
  • Changed: The translation file source (.pot) to add the new strings in the source code.
  • Changed: Indonesian translation files (.mo and .po) following the changes in the .pot .
  • Changed: Element attribute prefix from ninecodes-social-manager to social-manager.
  • Changed: The data-social-buttons attributes now is data-social-manager.
  • Fixed: Do not load stylesheet when it is disabled in the Settings page, even when the widget is active.
  • Fixed: Do not render the social buttons when the post is not published.
  • Fixed: Only load the scripts in a single post, page, and custom post type.

Read more at Version 1.0.6 Release Note

[1.0.5] - 2017-01-05

  • Changed: Update the translation file source (.pot).
  • Changed: Indonesian translation (.mo and .po).
  • Fixed: Stylesheet must not be enqueued when disabled even when the Social Profile Widget is active.

[1.0.4] - 2017-01-03

  • Changed: render the icons before anything else, which should allow the icons to render ASAP without being blocked by slow JavaScript files.
  • Changed: remove enclosed slash for Twitter Cards meta tags.
  • Changed: incorrect file header.
  • Changed: move the add_theme_support usage instruction to "Theme Support" section under "Other Notes" tab.
  • Changed: the "END:" comment tags for consistency.
  • Changed: the button endpoint URLs should be under ‘endpoints’ object, and the Underscore.js template following this change.
  • Fixed: adjust the icon size and padding ensuring the icon is perfectly aligned to the center.

[1.0.3] - 2017-01-02

  • Added: Open Graph Protocol Tools library files.
  • Changed: use Open Graph Protocol Tools methods to generate Open Graph meta tags for validation and standardization.
  • Changed: use double quotes instead of single quote to wrap up Twitter Cards meta tags value following meta tags generated through Open Graph Protocol Tools.
  • Changed: shorten the plugin name (drop "by NineCodes").

[1.0.2] - 2017-01-01

  • Changed: namespacing Backbone application
  • Changed: set dependency of the preview-profile.js to just backbone. The backbone will also enqueue jquery and underscore.
  • Changed: feed to News Feed (Facebook)
  • Changed: update "Tested up to" to 4.7.
  • Changed: transform HTML markup in readme.txt to its entity (also fixed render HTML code block issue).
  • Changed: remove edit_user_profile_update duplicate action

[1.0.1] - 2017-01-01

  • Added: screenshot images.
  • Fixed: code block formatting in the readme.txt.
  • Fixed: endpoint address stated in the "Installation" section of readme.txt.
  • Fixed: the use of $this keyword in the metabox required files path.
  • Changed: the JavaScript function to compile Underscore template.
  • Changed: call Backbone Model .fetch() method after the Views are already instantiated.


  • Initial release.

None, at the moment. Please ask. :)

Theme Support

If you are a Theme developer, you can add add_theme_support( 'ninecodes-social-manager' ) in the functions.php of your theme themes to customize the plugin at Theme level. The following are the "features" that this plugin currently supports.

Remove the plugin stylesheet

Set the stylesheet to true will dequeue the plugin stylesheet. This allows you to customize the the plugin output through your theme stylesheet to match your theme design as a whole without having to do an override.

add_theme_support( 'ninecodes-social-manager', array(
    'stylesheet' => true, // Means the theme supports (loads) the stylesheet.
) );

Custom attribute prefix

The plugin add prefix social-manager to (almost) any HTML elements it generates at the front-end (your theme). You can change this prefix to anything you want by adding the attr_prefix, for example:

add_theme_support( 'ninecodes-social-manager', array(
    'attr_prefix' => 'social',
) );

Keep in mind that changing the prefix to other than social-manager will dequeue the stylesheet much like setting the stylesheet to true. So you will have to add the styles at your end.

Changing the Buttons Mode

The plugin offers 2 modes, HTML and JSON, to generate, what called as the Social Buttons; the buttons that allow your site users to share content on social media. By default the mode is set to HTML, which will echo all the HTML markup in the post content. But, if you are building a headless WordPress theme using whatever JavaScript renders (Backbone, Angular, React, Vue, Ember, you name it), you might want to switch the plugin to the JSON mode.

add_theme_support( 'ninecodes-social-manager', array(
    'buttons_mode' => 'json',
) );
Version 1.1.2

Requires WordPress version: 4.5 or higher

Compatible up to: 4.7.2

Last Updated 05 Feb 2017

Date Added: 31 Dec 2016

Plugin Homepage


0 stars
0 ratings


Not Enough Data

Works: 0
Broken: 0