LTI Connector for WordPress is a WordPress plugin which allows the multisite versions of WordPress to act as an IMS LTI tool provider so that its blogs can be linked directly from a course in a VLE. LTI support can be found in most VLEs thereby enabling WordPress to be integrated with ease.

This plugin is written by Simon Booth as part of the JISC-funded ceLTIc project.

Before downloading the application you can try it out by requesting a free trial consumer key and secret which will be valid for 14 days:

or (further information on LTI Launcher for Windows)

System requirements

The LTI Connector for WordPress module is written in PHP for use with WordPress 3.5 (or later). It uses the open source PHP LTI Tool Provider class for handling the LTI-related communications.


The module is installed in the same way as other WordPress modules:

  1. download the zip file from OSCELOT (see Licence section below);
  2. extract the contents of the lti.zip file (contained within the download file) into the plugins directory of your WordPress instance;
  3. log into WordPress as a network administrator;
  4. navigate to the Network Admin Dashboard
  5. select the Network Activate option on the Plugins page to enable the module.

Sample plugins page
Once enabled, the module will automatically create a set of tables in the WordPress database and a new menu option named "LTI Tool Consumers" will appear on the dashboard menu.

To completely remove the plugin from the WordPress installation, delete the plugins/lti directory and remove the database tables using the following SQL:

DROP TABLE wp_lti_user;
DROP TABLE wp_lti_nonce;
DROP TABLE wp_lti_share_key;
DROP TABLE wp_lti_context;
DROP TABLE wp_lti_consumer;



The plugin adds an Options item to the Network Admin Dashboard menu which allows the configuration settings for the module to be viewed and edited.
Sample options page

The username scope is used to determine how IDs for users are created within WordPress. To ensure that users can only access the blog for the link in the VLE from which they launched WordPress, the resource link scope should be used. This will create a unique user account in WordPress for each user and each blog. Thus if a user has access to 3 blogs, they will have 3 separate user IDs, one for each blog. If such a stringent authorisation regime is not required, the scope can be relaxed to allow a separate ID to be generated for each context (course) from which a user launches, or a single ID for all launches from the same VLE. If the WordPress instance is only to be used with a single VLE, then an ID can be created without prefixing it with the consumer key. The recommended scope is "resource level" as this ensures that all access controls are managed by the VLE.

Tool consumers

A tool consumer record should be created for each VLE which is to be allowed to connect to the WordPress instance. The Add New option on the plugin menu displayed on the Network Admin Dashboard can be used to create a new tool consumer. Each consumer should be given a name for display within the WordPress Network Admin interface.
Sample add tool consumer page

A consumer key and secret is assigned to a tool consumer automatically when it is created; the connection details are summarised on the screen at this time.
Sample new tool consumer details page

The LTI Tool Consumers menu option lists all of the tool consumer records which have been defined. The following details are displayed for each record:

Records may be edited, enabled/disabled and deleted from the options provided on this page (hover the mouse over a record to display the options). It is also possible to download an XML description of the record which can be used to define the tool in a tool consumer which supports an XML input option. The consumer key and secret are included in the XML using the extension properties for the LTI Building Block for Learn 9. The XML may need a little editing for use with different VLEs.
Sample tool consumers page

Site management

A new blog (site) can be added to a course by simply adding an instance of the LTI WordPress tool (see instructions for the VLE being used) and following the link. The plugin uses the following role mappings:

LTI RoleWordPress Site Role
None of the above roles (including no role)Subscriber

Note: The LTI roles are all context-level roles, except that the Administrator role is also accepted from the System and Institution levels. If a user has LTI roles which would map to both Author and Administrator (e.g. both Learner and TeachingAssistant) they are assigned the former WordPress role. Any user given the WordPress site role of Administrator will have additional menu items added to the Site Admin page which are described below.

Membership synchronisation

If the LTI link added to the VLE supports the unofficial memberships extension service then a Sync Enrolments option will appear on the Users menu of the blog dashboard. Using this option allows the list of users registered for the blog to be synchronised with the users enrolled in the course in the VLE.
Memberships synchronisation entry page

Share keys

It is possible to have more than one link from one or more VLEs share the same blog in WordPress by issuing a share key to each. The share key is a value which should be added as a custom parameter to the link and will ensure that, rather than accessing a blog specific to that link, users will be redirected to the shared blog. Each link sharing a blog should be issued with its own share key. Share keys may be set to be approved automatically on first use, or it may be left to be approved from the Site Admin page once it has been setup in the other link.
Sample share key page

The share key is sent by email to the instructor for the course containing the link with the details being displayed on a confirmation page.
Sample share key confirmation page

The share keys page lists all the activated share keys for a site. They may be activated/suspended and deleted using the options provided.
Sample share keys page


Please use the OSCELOT project forum to report any bugs and provide feedback on the use of this plugin. This project is still early in its development; the following ideas are being considered for future releases:

If you have any interest in these, or have any other suggestions, please pass them on via the forum.

Version history

1.0.0018 April 2013Initial release
1.1.0014 January 2015Updated to add support for later releases of WordPress which use mysqli by default


Creative Commons License This work is written by Simon Booth and is released under a Creative Commons GNU General Public Licence. The LTI Connector for WordPress plugin is available for download from OSCELOT where it is also possible to report bugs.

XML descriptor
Valid XHTML 1.0 Strict