Import Strava activities to your website. Get notified immediately after an Strava activity is recorded, using webhooks.
Strava webhooks:
https://developers.strava.com/docs/webhooks/
You need to setup a Strava API Application:
https://www.strava.com/settings/api
Add this shortcode:
[strava_nmr] to a user facing page or post.
The address of that page/post must be used on setting: Redirect URI (see below)
Configure NMR Strava activities plugin on your admin interface:
Settings: Strava NMR
- Strava client id - number from Strava API Application
- Strava client secret - secret from Strava API Application
- Redirect URI - Address of a page/post on your website where the shortcode: [strava_nmr] is used.
- Webhook callback url - it's determined automatically, should be: https://your-website.com/wp-admin/admin-ajax.php?action=nmr-strava-callback&
Notice the ampersand: & at the end - it should be there.
- Verify token - a string used in the webhook subscription process
Press
Activate Strava Webhook
On success, you'll see the message on
Plugin status:
Strava webhook subscription id = 109463
it means webhook subscription worked.
Strava will push activity data for all Strava users that connected their account on your website with their Strava account.
Received activities are stored locally on your wordpress database, and an event with strava activity data is raised.
do_action('strava_nmr_activity_changed', 'update', $activity_data);
where
$activity_data
is an array.
A Theme or another Plugin might listen to this action and perform additional actions.
This plugin reacts to new, changed or deleted activities.
Determine what activites are imported by interacting with
nmr_strava_save_activity
filter
function on_nmr_strava_save_activity($save_nmr_strava_activity, $activity_type){ // we only want to import running activities if(strcasecmp('run', $activity_type) == 0 || strcasecmp('virtualrun', $activity_type) == 0){ return true; } return false; } add_filter('nmr_strava_save_activity', 'on_nmr_strava_save_activity', 10, 2);
There's an additional filter called
nmr_strava_save_activity_full
that sends the entire data received from Strava as an array that functions like the one above.
List of Strava activities: AlpineSki, BackcountrySki, Canoeing, Crossfit, EBikeRide, Elliptical, Golf, Handcycle, Hike, IceSkate, InlineSkate, Kayaking, Kitesurf, NordicSki, Ride, RockClimbing, RollerSki, Rowing, Run, Sail, Skateboard, Snowboard, Snowshoe, Soccer, StairStepper, StandUpPaddling, Surfing, Swim, Velomobile, VirtualRide, VirtualRun, Walk, WeightTraining, Wheelchair, Windsurf, Workout, Yoga
You may list the first 100 or so activities received from Strava in any page or post by using this shortcode:
[strava_nmr_table top="100"]
If you enjoy using
NMR Strava activities and find it useful, please consider
making a donation. Your donation will help encourage and support the plugin's continued development and better user support.
Privacy Notices
This plugin stores data collected from Strava, which may include the submitters' personal information, in the database on the server that hosts the website.