plugin-icon

NMR Strava activities

Door mirceatm·
Sync Strava activities into WordPress in real time via webhooks—stored in your database with hooks for themes and plugins.
Beoordelingen
5
Versie
1.0.12
Actieve installaties
100
Laatst bijgewerkt
Mar 19, 2026
NMR Strava activities

NMR Strava activities imports athlete activities into your WordPress site as soon as Strava records them—no slow polling. Data is stored locally; developers can react with actions and filters for custom workflows, leaderboards, or integrations.

Why webhooks? Strava can notify your site when an activity is created or deleted. This plugin subscribes to those events, then fetches full activity details with OAuth and saves them to custom database tables.

You will need:

  • A Strava API application (Client ID and Client Secret)
  • A page or post containing the [strava_nmr] shortcode; its URL must match Redirect URI in both Strava and this plugin’s settings

Configure the plugin: WordPress admin Settings Strava NMR

  • Strava client id — from your Strava API application
  • Strava client secret — from your Strava API application
  • Redirect URI — full URL of the page/post where [strava_nmr] appears (must match Strava’s Authorization Callback Domain / redirect settings)
  • Webhook callback url — filled automatically; should look like https://yoursite.com/wp-admin/admin-ajax.php?action=nmr-strava-callback& (keep the trailing & if your copy includes it)
  • Verify token — a secret string you choose; used when Strava validates your webhook subscription

After saving, use Activate Strava Webhook. On success, Plugin status shows something like: Strava webhook subscription id = 109463.

Data and privacy

Activities and tokens are stored in your WordPress database. See Privacy Notices below. For GDPR or similar obligations, ensure your site policy explains this processing.

Developer hooks

When an activity is saved or removed, other code can listen:

do_action('strava_nmr_activity_changed', 'update', $activity_data); do_action('strava_nmr_activity_changed', 'delete', $payload);

Filter which activities are saved using the activity type (single string, e.g. Run):

`php

function nmr_example_save_only_runs( $activity_type ) { if ( strcasecmp( ‘Run’, $activity_type ) === 0 || strcasecmp( ‘VirtualRun’, $activity_type ) === 0 ) { return $activity_type; } return false; } add_filter( ‘nmr_strava_save_activity’, ‘nmr_example_save_only_runs’ ); `

Filter using the full Strava activity array (return false to skip import):

`php

add_filter( ‘nmr_strava_save_activity_full’, function ( $activity ) { if ( ! empty( $activity[‘manual’] ) ) { return false; } return $activity; } ); `

Supported Strava activity types include: 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.

Shortcodes

  • [strava_nmr] — OAuth connect flow (optional attributes for labels and require_login)
  • [strava_nmr_connect] / [strava_nmr_disconnect] — logged-in connect/disconnect UI
  • [strava_nmr_table top="100"] — simple HTML table of stored activities (default limit 100)

Official listing

Install from WordPress.org/plugins/nmr-strava-activities. More info: Plugin URI.

If this plugin saves you time, consider making a donation.

Privacy Notices

This plugin stores data received from Strava—which may include personal information—in your site’s database. You are responsible for describing this in your privacy policy and for any consent or legal basis required in your jurisdiction.

Gratisvoor betaalde abonnementen
Door te installeren, ga je akkoord met de Servicevoorwaarden van WordPress.com en de voorwaarden voor plugins van derden.
Getest tot
WordPress 6.8.5
Deze plugin kan worden gedownload, zodat je hem op je kan gebruiken.