LinkedIn plugin for WordPress

Following the modifications to the LinkedIn developer program, version 2.0 of
this plugin introduces breaking changes. More information on vedovini.net

This plugin provides you with shortcodes to insert your full LinkedIn profile
and a rotating scroller of your LinkedIn recommendations in any WordPress page
or post. Please check vedovini.net for
examples.

The following shortcodes are available:

  • [li_recommendations width="480" length="200" interval="1000"][li_recommendations width="480" length="200" interval="1000"]` displays a
    rotating scroller with the recommendations you received. Only available if
    LinkedIn granted you access to your full profile.
  • [li_profile][li_profile]displays your LinkedIn profile. Optional attributes
    are
    displays your LinkedIn profile. Optional attributes
    are fieldsfieldsand and langlang` to overide the general settings. Only basic profile is
    available unless LinkedIn granted you access to your full profile.
  • [li_card][li_card]displays a simple LinkedIn card. Optional attributes
    are
    displays a simple LinkedIn card. Optional attributes
    are picture_widthpicture_widthand and summary_lengthsummary_length, and, and fieldsfieldsand and langlang` to overide
    the general settings.
  • [li_picture][li_picture]displays the original profile picture (size may vary depending
    on what you uploaded to LinkedIn). Optional attributes are
    displays the original profile picture (size may vary depending
    on what you uploaded to LinkedIn). Optional attributes are widthwidth,, heightheightand
    and classclass`.

To customize the rendering of the shortcodes you must create a linkedinlinkedinfolder
in your theme or in the
folder
in your theme or in the wp-contentwp-contentfolder and then copy the template file you
want to modify. The default template files are located in the plugin's
folder and then copy the template file you
want to modify. The default template files are located in the plugin’s templatestemplates` folder.

See this post for more details on customization: Showing more of your LinkedIn
profile with WP LinkedIn

There are also several widgets. One widget displays the recommendations
scroller, one displays your network updates, and two widgets show a “profile
card” – one of which is the standard LinkedIn JavaScript profile widget, the
other uses a customizable template.

ATTENTION: Since v1.6 the call to add the javascript for the recommendations
slider to the page as been moved to the recommendations.phprecommendations.phptemplate. If you
customized that template you must add the following line to the top of your
custom template:
template. If you
customized that template you must add the following line to the top of your
custom template: wp_enqueue_script('responsive-scrollable');wp_enqueue_script(‘responsive-scrollable’);`

We welcome volunteers to translate that plugin into more languages. If you wish
to help then contact @cvedovini on Twitter or
use that contact form.

Please check the WP LinkedIn Multi-Users
extension if you need to show the profiles of multiple users.

And if you need to show company profiles or company updates, please check the
WP LinkedIn for Companies
extension.

Also available is the WP LinkedIn Advanced Templates
extension that provides extended profile templates (including most of the
profile sections) and a more sophisticated template for company page updates.

And if you want to save money then there’s the WP LinkedIn Extensions Bundle
which includes all the extensions for a reduced price.

This plugin follows the standard WordPress installation
method
:

  1. Upload the wp-linkedinwp-linkedinfolder to the folder to the /wp-content/plugins//wp-content/plugins/` directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Create a LinkedIn API key/secret pair and register the redirect URI (follow
    the instructions on the settings page)
  4. Generate an access token for the LinkedIn API (those tokens expire after 60
    days so you will have to regenerate them from time to time)
  5. The Profile fieldsProfile fields` field is the list of fields that will be available to
    the profile template for rendering – see this post for more details on
    customization: Showing more of your LinkedIn profile with
    WP LinkedIn

How can I see my full profile

Since May 12, 2015, you need to be a LinkedIn partner and be granted full access
to your profile to see more than the basic profile fields.
See this article for more information

The recommendations widget and shortcode are not working

Since May 12, 2015, the recommendations are only accessible if you have full
access to your profile. See this article for more information

The updates shortcode (or the updates widget) doesn’t show anything

Since May 12, 2015 the LinkedIn API doesn’t allow access to profile updates
anymore. The shortcode and widget are not functional anymore. See this article
for more information

Does the plugin support multiple user profiles?

No, it doesn’t. But there is a premiun extension,
WP LinkedIn Multi-Users
that changes the behavior of this plugin so that shortcodes and widgets show
the data of the author of the post or page.

Does the plugin support company profiles?

No, it doesn’t. But there is a premiun extension,
WP LinkedIn for Companies
that provides shortcodes and widgets for company profiles and company updates.

How to add the volunteer experiences section from my profile?

The volunteer experiences section is in the templates provided by the premium
extension WP LinkedIn Advanced Templates but is not
activated by default. To activate it you must add the relevant profile fields
to the list of fields, the minimum is volunteervolunteer`. To get the full data
use this:

volunteer:(volunteer-experiences:(organization,cause,role,start-date,
end-date,description))

You also need to be granted access to your full profile to get data not in the
basic profile. See this article for more information

How to add the projects section to my profile?

The projects section is in the templates provided by the premium extension
WP LinkedIn Advanced Templates but is not activated by
default. To activate it you must add the relevant profile fields to the list
of fields:

projects:(name,url,start-date,end-date,members:(name,
person:(public-profile-url,first-name,last-name,picture-url,headline)),
description)

You also need to be granted access to your full profile to get data not in the
basic profile. See this article for more information

How to add the publications section to my profile?

The publications section is in the templates provided by the premium extension
WP LinkedIn Advanced Templates but is not activated by
default. To activate it you must add the relevant profile fields to the list
of fields:

publications:(title,publisher,authors,date,url,summary)

You also need to be granted access to your full profile to get data not in the
basic profile. See this article for more information

How to add the honors & awards section to my profile?

The honors & awards section is in the templates provided by the premium extension
WP LinkedIn Advanced Templates but is not activated by
default. To activate it you must add the relevant profile fields to the list
of fields:

honors-awards:(name,issuer,date,description)

You also need to be granted access to your full profile to get data not in the
basic profile. See this article for more information

How to add other sections to my profile?

For other sections see Showing more of your LinkedIn profile with
WP LinkedIn
.

You also need to be granted access to your full profile to get data not in the
basic profile. See this article for more information

I have a slider somewhere and it doesn’t work anymore when I add the recommendations’ scroller

It’s usually due to an incompatibility between the different javascript
components used. To solve the incompatibility it’s better to choose one of the
component and use only this one. To change the component that is used by the
recommendations’ scroller you will need to customize the recommendations.phprecommendations.php`
template.

I am constantly asked to get a new access token

There can be several reasons to that problem, check the following:

  • Make sure your server’s time is correct.
  • If you are using an external cache system make sure it’s properly configured.
  • Try to uncheck the Verify SSL peerVerify SSL peer` option on the plugin’s settings page.

Since I updated to v1.6 the recommendation slider does not work anymore

Since v1.6 the call to add the javascript for the recommendations slider to
the page as been moved to the recommendations.phprecommendations.phptemplate. If you
customized that template you must add the following line to the top of your
custom template:
template. If you
customized that template you must add the following line to the top of your
custom template: wp_enqueue_script('responsive-scrollable');wp_enqueue_script(‘responsive-scrollable’);`

Profile picture is only 80×80 pixels is there a way to get a bigger one from LinkedIn?

You can either add picture-urls::(original)picture-urls::(original)to the list of fields and output
that field in a customized template or use the
to the list of fields and output
that field in a customized template or use the [li_picture][li_picture]` shortcode.

Version 2.5.4

  • Forcing network activation on multi-site installs

Version 2.5.3

  • Adding a comment in the updater’s code to indicate it’s only used by this
    plugin’s extensions in order to comply with the WordPress.org repository
    Plugin Guidelines

Version 2.5.2

  • Fixing clear cache mechanism

Version 2.5.1

  • Some admin notices dismissibles and some marked as warnings instead of errors
  • Added the extensions bundle to the list of available extensions

Version 2.5

  • Small enhancements in error handling
  • Better cache system

Version 2.4.2

  • Fixing a bug that prevent checkbox options on the network options page to be
    saved when unchecked

Version 2.4.1

  • Using HTTPS to talk with the update server
  • Commenting a line of debug code that impacts performances

Version 2.4

  • Adding WordPress Multisite compatibility

Version 2.3.2

  • Fixing extensions updates do not appear when the license in not valid

Version 2.3.1

  • Fixing extensions page not showing when there’s no extension

Version 2.3

  • Better admin notices
  • Improved framework for extensions and license management
  • Improved options page, now with tabs
  • Updated all translations

Version 2.2.1

  • Updating pot file
  • Updating Portuguese and French translations
  • Fixing a missing call to gettext

Version 2.2

  • Better error management and added flexibility to the authentication process

Version 2.1.2

  • Updating instructions to create the LinkedIn API application to match the
    changes on their side

Version 2.1.1

  • Changes for WordPress 4.3
  • Fixing labels for Client ID and Client Secret in settings page
  • Updating pot file and French translations

Version 2.1

  • Removed everything related to network updates
  • Changed some defaults
  • Moved most of the profile templates to the Advanced Templates plugin and left
    only what’s necessary for the basic profile fields

Version 2.0.2

  • CSS fix for some cases when blockquotes have horizontal margins in the scroller
  • Template fix to accomodate a bug whereby content see <br/>
    tags introduced
    in the middle of HTML
    tags introduced
    in the middle of HTML <img>` tags containing line breaks

Version 2.0.1

  • Adding some missing esc_urlesc_url` in the templates.
  • Updating portuguese translations

Version 2.0

Version 1.19

  • As an option you can now put your customized templates in a linkedinlinkedinfolder
    under the
    folder
    under the wp-contentwp-content` folder instead of your theme’s folder. No need to create
    a child theme anymore or have the templates overwritten when you update your
    theme.
  • Updated Portuguese translations.

Version 1.18.3

  • Fixing network updates templates that didn’t show “Likes” properly.

Version 1.18.2

  • Updated Spanish and Catalan translations.

Version 1.18.1

  • Loading the text domain earlier in the plugin loading process so that
    translations for widget names are available.
  • Updating Portuguese and French translations.
  • Now working when fancy permalinks are not activated.

Version 1.18

  • Stripped down the jQuery Tools library to the scroller only to avoid clashes with
    other jQuery plugins and reduce footprint.
  • Added support for honors & awards section to the profile template. If you
    want to activate it then make sure to add the following fields to the list of
    fields: honors-awards:(name,issuer,date,description)honors-awards:(name,issuer,date,description)`
  • Added support for the LI_DEBUGLI_DEBUGvariable. Set that define to variable. Set that define to truetruein
    the
    in
    the wp-config.phpwp-config.php` file and debug information will be printed by the plugin as
    HTML comments (especially usefull when debugging customized templates).
  • Added the li_pictureli_picture` shortcode that enables you to print the original
    profile picture.
  • Changed the uri that gets the access token from the API.

Version 1.17.2

  • Change in the way urls are built to make sure the correct separator for query
    parameters is always used.

Version 1.17.1

  • Some changes to the profile templates to remove unwelcomed warnings.

Version 1.17

  • Added support for publications section in the profile template. If you want
    to add that section to your output make sure to add the following fields to the
    list of fields: publications:(title,publisher,authors,date,url,summary)publications:(title,publisher,authors,date,url,summary)`.
  • Separated the profile template into several different templates to simplify
    customisation. Now if you just need to customize one section of the profile then
    you will only need to create a custom template for that section.

Version 1.16

  • Added Portuguese translations.
  • Corrected internationalization bugs in class-admin.php

Version 1.15

  • Added Serbian translations.

Version 1.14

  • LinkedIn now requires that redirect uris be registered, thus forcing every
    user of the plugin to create their own application key/secret pair and register
    their redirect uri.

Version 1.13.1

  • Fixing display of a project’s team members when they are not LinkedIn users or
    they don’t have a public profile.
  • Fixing doc about the list of field to display projects.

Version 1.13

  • Added support for projects section in the profile template. If you want to add
    that section to your output make sure to add the following fields to the list of
    fields: projects:(name,url,start-date,end-date,members:(name,person:(public-profile-url,
    first-name,last-name,picture-url,headline)),description)
    projects:(name,url,start-date,end-date,members:(name,person:(public-profile-url,
    first-name,last-name,picture-url,headline)),description)`.

Version 1.12.2

  • Use options API directly instead of the transient API to avoid issues with object cache.
  • Defaulting to single-byte API when multi-byte strings support is not enabled.

Version 1.12.1

  • Fixed version numbers.

Version 1.12

  • Added Catalan translations.

Version 1.11.2

  • Fixed a bug in the Network UpdatesNetwork Updates` template that was messing up the update text.

Version 1.11.1

  • Using esc_urlesc_url` in templates when printing links.
  • Using nl2brnl2brinstead of instead of wpautopwpautop` when printing recommendations text.

Version 1.11

  • Added 30mn caching for network updates to avoid API throttling.
  • Small fixes.
  • Added Spanish translations.

Version 1.10

  • Bundled jQueryTools within the plugin instead of using jQueryTools CDN.

Version 1.9

  • Fixed some translation issues.
  • Fixed the default value for the list of post types to put the card on.
  • Simplified the CSS and template for the LinkedIn card.
  • Updated Dutch translations.

Version 1.8

  • Added a setting to let you choose on which post types your LinkedIn card will
    be inserted (before it was only inserted on posts).
  • Fallback mechanism to load language files in a smarter way.

Version 1.7

  • Added links for volunteer translators.
  • Added screenshots.
  • Added language proficiencies to the profile template,
    use languages:(language,proficiency)languages:(language,proficiency)` in the list of fields to activate
    it.
  • Dutch translations updated.
  • Changed the way extensions can hook to the plugin.
  • Removed the jquery.dimensions.etcjquery.dimensions.etc` plugin.
  • Added Italian translations.
  • Added Brazilian Portuguese translations.
  • Fixed an issue where the recommendation slider won’t work when the jQuery
    library is included in the footer of the blog.

Version 1.6

  • Updated Dutch translations.
  • Using wpautopwpautopinstead of instead of nl2brnl2br` in templates.
  • Added template loading function with debug output of the template path. You
    must have WP_DEBUGWP_DEBUGset to set to truetrue` to see what template file is used. The file path will be printed inside an HTML comment just before the template output.
  • Error messages are now visible only when WP_DEBUGWP_DEBUGset to set to truetrue` otherwise
    they are printed as HTML comments.
  • Ability to add your LinkedIn card after each of your posts.
  • Added hook linkedin_oauthtokenlinkedin_oauthtoken` to enable extensions to override the
    LinkedIn API oauth token.
  • Added hook linkedin_templatelinkedin_template` to enable extensions to override the template
    to be used.
  • Made the scroller truly responsive when width is set to autoauto`.
  • Put the scripts in the footer and moved calls to wp_enqueue_scriptwp_enqueue_script` to
    templates for more flexibility.
  • Added network updates shortcode and widget.

Version 1.5.5

  • Bug fix: Invalid url to refresh token in token expiry alert email.

Version 1.5.4

  • Better error reporting and specifying ssl_verify parameter when fetching
    profile too.

Version 1.5.3

  • Fixing wrong name of parameter for wp_remote_get when exchanging code for
    token m(

Version 1.5.2

  • Tweaking templates and CSS
  • Option to disable SSL verification (on some servers the proper ssl
    certificates are not installed thus preventing SSL verification).
  • Option to have the plugin send an email when the access token becomes
    invalid or expires.

Version 1.5.1

  • Improved error handling when updating oauth token.
  • Using another set of APP key/secret when WP_DEBUGWP_DEBUG` is turned on (allows for
    having a dev environment without the access token being invalidated each time you switch).
  • Allowing to override the APP key and secret by defining WP_LINKEDIN_APPKEYWP_LINKEDIN_APPKEYand
    and WP_LINKEDIN_APPSECRETWP_LINKEDIN_APPSECRETin in wp-config.phpwp-config.php`.
  • Added a profile widget using the LinkedIn JavaScript API.
  • Changed the readme.txtreadme.txt` file to move some details from the “Installation”
    page to the “Description” page.
  • Changed from using pre-wrappre-wrapin the stylesheet to using in the stylesheet to using nl2brnl2br` in templates
    in order to better preserve the text formatting.

Version 1.5

  • Changing the way the LinkedIn API keys and token are managed in order to
    simplify installation.
  • Added a profile cache to improve performances and limit API calls.

Version 1.4.3

  • Updating string translations.

Version 1.4.2

  • Nice looking option page with donate button and Twitter widget.

Version 1.4.1

  • Fixing language codes in settings.
  • Simplifying the javascript for the recommendation slider.

Version 1.4

  • Corrected link to post about customization in the readme.
  • Modified the javascript for the recommendation slider so that it
    uses $(document).ready()$(document).ready()`.
  • Added a widget and shortcode displaying a simple LinkedIn card.

Version 1.3.8

  • Corrected a bug that interfers with other plugins using output buffering.
  • Updated French and Dutch localizations.

Version 1.3.7

  • Added a ‘css’ option for the widget width to disable setting the width using
    javascript. This allows to set the width using CSS, which is particularly
    useful with responsive themes.
  • Added a link to the post on vedovini.net about customizing the plugin’s
    output.

Version 1.3.6

  • Fixing how the presence of data is tested and adding error messages when the
    profile cannot be retrieved.

Version 1.3.5

  • Adding French and Dutch translations (Credit to Jan Spoelstra for the Dutch
    translations).
  • Fixing path issue while laoding the text domain.
  • Added credit section to the readme file.
  • Changed name of bundled classes to avoid name colisions.

Version 1.3.4

  • Enable an ‘auto’ mode for the width of the recommendations in order to
    accomodate responsive themes. However, it won’t work in some occasion where
    the width of the parent cannot be calculated. To activate it just use ‘auto’
    as the recommendations width.

Version 1.3.3

  • Updating the css version.

Version 1.3.2

  • Forcing clear: noneclear: noneon recommendations on recommendations blockquoteblockquote` otherwise the scroller
    might not work.
  • Adding support for linking to recommender’s profiles in the template and
    adding the fields in the default list of fields. If you want to add that to
    your output make sure to change the recommendations-recievedrecommendations-recievedfield
    to
    field
    to recommendations-received:(recommendation-text,recommender:(first-name,
    last-name,public-profile-url))
    recommendations-received:(recommendation-text,recommender:(first-name,
    last-name,public-profile-url))`.

Version 1.3.1

  • Upgrading the widget to use WP_Widget class, enabling several widgets
    instances.
  • Modified the script and CSS to be more respectful of theming.

Version 1.3

  • Added the possibility to select the profile language in the settings and
    the [li_profile][li_profile]` shortcode.

Version 1.2.1

  • Added a test to avoid PHP error when no recommendations.

Version 1.2.0

  • Removed some unecessary code that prevented the fetching of some profile
    fields.
  • Moved the inclusion of the default CSS to the template to enable one to
    remove and totally replace it.
  • Added the option to provide a fieldfieldattribute to the attribute to the [li_profile][li_profile]`
    shortcode to override the list from the settings and enable having several
    different profiles.

Version 1.1.0

  • Adding the intervalinterval` attribute to the shortcode and the widget to control
    the scroller’s speed.

Version 1.0.2

  • Changing version of jQuery Tools to avoid conflicting with WP’s jQuery.
  • Adding a sidebar widget with the recommendation slider.

Version 1.0.1

  • Removing left over HTML comment in recommendations template file.

Version 1.0.0

  • Initial release.
  • 5 months