Contact Widgets


Note: This plugin requires PHP 5.4 or higher

Beautifully display social media and contact information on your website with simple, easy-to-use widgets.

Contact Information

Display your contact information including email address, phone number, fax and physical address (including a map).

Social Media Profiles

Display your social media profiles in an attractive, intuitive way.

30 Languages Supported

English – DanskDeutschΕλληνικάEspañolEspañol de MéxicoSuomiFrançaisहिन्दीBahasa IndonesiaItaliano日本語한국어मराठीBahasa MelayuNorsk bokmålNederlandsPolskiPortuguês do BrasilPortuguêsРусскийSvenskaไทยTagalogTürkçeУкраїнськаTiếng Việt简体中文香港中文版繁體中文


If you run into a problem, post your question in the plugin support forum and we would be happy to help. Remember, the more information you can provide up-front, the easier it is for us to verify the problem and the faster we can help!

  • Screenshot(s) – How-to guide
  • Name and version of your theme – Video tutorial
  • List of all active plugins on your site – Video tutorial
  • Steps taken or details we should know to reproduce and verify the problem


Development of this plugin is done on GitHub. If you believe you have found a bug, or have a killer feature idea, please open a new issue there. Pull requests on existing issues are also welcome!


  • Contact widget
  • Social widget
  • Twenty Sixteen theme showing both widgets
  • Social widget block settings and icons
  • Contact widget block settings
  • Contact widget block rendered


This plugin provides 2 blocks.

  • Contact Details
  • Social Profiles


How do I add additional fields to the Contact Information widget?

Adding additional fields to the Contact Information widget is as simple as adding a WordPress filter.

Here is an example:

add_filter( 'wpcw_widget_contact_custom_fields', function ( $fields, $instance ) {

  $fields['cellphone'] = [
    'order'       => 2,
    'label'       => __( 'Cellphone:', 'YOURTEXTDOMAIN' ),
    'type'        => 'text',
    'description' => __( 'A cellphone number that website visitors can call if they have questions.', 'YOURTEXTDOMAIN' ),

  return $fields;

}, 10, 2 );

How do I add additional fields to the Social Media Profiles widget?

The Social Media Profiles widget requires a different set of options but follows the same principle as above.

Here is an example:

add_filter( 'wpcw_widget_social_custom_fields', function ( $fields, $instance ) {

  $fields['scribd'] = [
    'icon'      => 'scribd', // See font-awesome icon slug
    'label'     => __( 'Scribd', 'YOURTEXTDOMAIN' ),
    'default'   => '',
    'select'    => 'username',
    'sanitizer' => 'esc_url_raw',
    'escaper'   => 'esc_url',
    'social'    => true,
    'target'    => '_blank',

  return $fields;

}, 10, 2 );

If using Font Awesome v5, ‘solid’ & ‘regular’ icons require a ‘prefix’ value when defining the custom icon. If excluded, the default prefix added to icons is ‘fab’, for the Font Awesome brand icons. If you are adding an icon that is not a brand icon, you will need to add a prefix. For example, if you wanted to add a graduation cap icon you would need to add 'prefix' => 'fas' to the attributes array.

Here is an example of adding a ‘fas’ (Solid) icon to the social profiles.

add_filter( 'wpcw_widget_social_custom_fields', function ( $fields, $instance ) {

  $fields['lattes'] = [
    'icon'      => 'graduation-cap', // See font-awesome icon slug
    'prefix'    => 'fas', // See font-awesome icon prefix
    'label'     => __( 'Service Name', 'YOURTEXTDOMAIN' ),
    'default'   => '',
    'select'    => 'username',
    'sanitizer' => 'esc_url_raw',
    'escaper'   => 'esc_url',
    'social'    => true,
    'target'    => '_blank',

  return $fields;

}, 10, 2 );

Where are the Font Awesome files served from?

Out of the box the Font Awesome files are bundled in Contact Widgets and served locally. However, we have included a filter to allow Font Awesome files to be loaded from MaxCDN.

To force the plugin to load the files from MaxCDN you can return a true value in the filter wpcw_social_icons_use_cdn.

add_filter( 'wpcw_social_icons_use_cdn', '__return_true' );


11 March 2021
Hello, I make a site with photos. Can anyone tell me a plugin with which each photo can be easily shared on social networks. Viber and Facebook, for example.
15 September 2020
Really hot contact widget! This is really helpful solution for every wp blog! Thanks!
Read all 19 reviews

Contributors and Developers

“Contact Widgets” is open source software. The following people have contributed to this plugin.


“Contact Widgets” has been translated into 15 locales. Thank you to the translators for their contributions.

Translate “Contact Widgets” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change Log

1.7.0 – February 20th, 2018

  • Fix: WordPress 5.3 compatibility fixes. (Replaced $ in favour of jQuery)
  • Tweak: Removed all references of PHP array shorthand syntax. (Replaced [] in favour of array())

1.6.2 – February 20th, 2018

  • Tweak: Adjust the contact block dependencies.

1.6.1 – December 9th, 2018

  • Tweak: URI Encode the contact map address.

Props @EvanHerman

1.6.0 – December 6th, 2018

  • New: Introduce Contact Details block.
  • New: Introduce Social Profiles block.

Props @EvanHerman

1.5.2 – June 18, 2018

  • New: Introduce filter wpcw_social_icons_fontawesome_5 (default: false) to use Font Awesome 5 in Contact Widgets.
  • New: Introduce filter wpcw_social_icons_use_cdn (default: false) to load Font Awesome v4.7.0 files from MaxCDN.
  • New: Introduce filter wpcw_social_icons_cdn_url to alter the default Font Awesome CDN URL.
  • Tweak: Revert back to Font Awesome 4.7.0 with the option to force load Font Awesome v5.0.13 via filter (see above).

Props @EvanHerman

1.5.1 – June 14, 2018

  • Tweak: Added a Font Awesome 5 config file with showMissingIcons set to false, to prevent conflicts with plugins and themes using Font Awesome v4.
  • Tweak: Filter the social profile fields array before localizing into admin.js, fixing custom social profile icons.

Props @EvanHerman

1.5.0 – May 31, 2018

  • New: Add support for “Unsplash” (
  • Tweak: Update FontAwesome to 5.0.6
  • Tweak: Fix typo in widget descriptions.

Props @EvanHerman, @fjarrett, @salvoventura, @garrett-eclipse

1.4.1 – February 13, 2017

  • Tweak: Use FontAwesome 4.7.0
  • Fix: Compatibility issues when other plugins add widget form fields

Props @jonathanbardo, @fjarrett

1.4.0 – January 10, 2017

  • New: WordPress 4.7 compatibility
  • New: Defer map iframe loading by default
  • Tweak: Remove frameborder from map iframes
  • Tweak: Add filter to change zoom level of map
  • Tweak: Deprecate YouTube link while maintaining backward compatibility

Props @fjarrett, @jonathanbardo, @EvanHerman

1.3.3 – October 14, 2016

  • Tweak: Remove edit button during Customise preview
  • Fix: Minor bugs

Props @jonathanbardo

1.3.2 – August 16, 2016

  • New: WordPress 4.6 compatibility
  • New: Add RSS to social networks
  • Tweak: Plugin icon update
  • Tweak: Update translation
  • Fix: Edit button not working

Props @jonathanbardo, @fjarrett

1.3.1 – June 3, 2016

  • New: Language support for Marathi
  • New: Add 500px to social networks

Props @jonathanbardo, @fjarrett, @salvoventura

1.3.0 – May 19, 2016

  • New: Add front-end “Edit” link to quickly edit widgets in the Customiser
  • Fix: Use WP-CLI nightlies in tests

Props @jonathanbardo, @fjarrett

1.2.0 – April 12, 2016

  • New: WordPress 4.5 compatibility
  • Tweak: Improve widget names

Props @jonathanbardo, @fjarrett

1.1.0 – March 15, 2016

  • New: Support localisation on Google Maps

Props @jonathanbardo, @fjarrett

1.0.4 – March 9, 2016

  • Tweak: Language updates

Props @jonathanbardo

1.0.2 – February 24, 2016

  • New: Language support for 27 locales

Props @jonathanbardo

1.0.1 – February 24, 2016

  • New: Added possibility to add custom fields to contact and social widget

Props @jonathanbardo

1.0.0 – February 23, 2016

  • Initial release

Props @jonathanbardo, @fjarrett