[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fP4aLBm6TfObtWyR5MeCCiQTPiziP-yPwHMoXuEkNMR8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":14,"tags":17,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":140,"fingerprints":552},"runpress","RunPress","1.4.2","Markus Frenzel","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarkusfrenzel\u002F","\u003Cp>Do you ever want to display your sports activities from Runtastic.com on your own Website? This is no problem any longer.\u003C\u002Fp>\n\u003Cp>RunPress gives you the opportunity to query the Runtastic website by using your Runtastic username and password. It imports your Runtastic sports activities into a table of your wordpress installation.\u003C\u002Fp>\n\u003Cp>You will be capable of viewing your runtastic sports activities in the admin backend. By the use of shortcodes you’re able to show your activities on non-admin pages of your site like posts and pages. Use the shortcode generator to easily create the needed shortcodes without any programming knowledge.\u003C\u002Fp>\n\u003Cp>A widget is included to show your very latest sport activity, your high-scores or the last 5 sports activities in a table.\u003C\u002Fp>\n\u003Cp>RunPress is continuously under development. Just share your wishes with me and I’ll have a look at them.\u003C\u002Fp>\n\u003Cp>You want to see it in action? Have a look at the plugin homepage \u003Ca href=\"http:\u002F\u002Fmarkusfrenzel.de\u002Fwordpress\u002F?page_id=2247\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Do you think RunPress is useful for you? Then please consider to \u003Ca href=\"http:\u002F\u002Fmarkusfrenzel.de\u002Fwordpress\u002F?page_id=2336\" rel=\"nofollow ugc\">donate\u003C\u002Fa> to keep the developer motivated and the plugin up and running.\u003C\u002Fp>\n\u003Cp>ATTENTION: You MUST have CURL-Support in your PHP.INI active!\u003C\u002Fp>\n\u003Cp>RunPress is now multisite capable (implemented February 2016).\u003C\u002Fp>\n\u003Cp>Please consider a donation if you like RunPress. Every (even the smallest) donation is going to motivate the developer of RunPress to create new functions and additions to the plugin without splitting it up into a free and a buyable edition.\u003C\u002Fp>\n\u003Ch3>Importable Activities\u003C\u002Fh3>\n\u003Cp>The following Activities are importable from the Runtastic Website to your local WordPress Database\u003C\u002Fp>\n\u003Cul>\n\u003Cli>running\u003C\u002Fli>\n\u003Cli>nordicwalking\u003C\u002Fli>\n\u003Cli>cycling\u003C\u002Fli>\n\u003Cli>mountainbiking\u003C\u002Fli>\n\u003Cli>racecycling\u003C\u002Fli>\n\u003Cli>hiking\u003C\u002Fli>\n\u003Cli>treadmill\u003C\u002Fli>\n\u003Cli>ergometer\u003C\u002Fli>\n\u003Cli>elliptical\u003C\u002Fli>\n\u003Cli>spinning\u003C\u002Fli>\n\u003Cli>handbike\u003C\u002Fli>\n\u003Cli>skating\u003C\u002Fli>\n\u003Cli>skateboarding\u003C\u002Fli>\n\u003Cli>rowing\u003C\u002Fli>\n\u003Cli>swimming\u003C\u002Fli>\n\u003Cli>crosscountryskiing\u003C\u002Fli>\n\u003Cli>skiing\u003C\u002Fli>\n\u003Cli>snowboarding\u003C\u002Fli>\n\u003Cli>backcountryskiing\u003C\u002Fli>\n\u003Cli>sledding\u003C\u002Fli>\n\u003Cli>motorbiking\u003C\u002Fli>\n\u003Cli>walking\u003C\u002Fli>\n\u003Cli>riding\u003C\u002Fli>\n\u003C\u002Ful>\n","Imports your sports activities (have a look at the readme for details) from the Runtastic website. Displays the data via shortcodes on your webpage.",10,2646,0,"","4.7.32","3.3.1",[18,19,20,4,21],"cycling","nordicwalking","running","runtastic","http:\u002F\u002Frunpress.markusfrenzel.de","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frunpress.1.4.2.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"markusfrenzel",1,30,94,"2026-04-05T17:16:58.259Z",[35,56,80,104,121],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":11,"downloaded":43,"rating":44,"num_ratings":30,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":14,"tags":48,"homepage":52,"download_link":53,"security_score":54,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"simply-strava","Simply Strava","1.0.4","junkins","https:\u002F\u002Fprofiles.wordpress.org\u002Fjunkins\u002F","\u003Cp>A widget to display the last several weeks of Strava activity (mileage) in a\u003Cbr \u002F>\nsidebar.\u003C\u002Fp>\n","A simple Strava widget for Wordpress",2783,20,"2013-04-20T01:32:00.000Z","3.5.2","3.4.2",[18,49,20,50,51],"gps","strava","widget","http:\u002F\u002Fwww.njcyclist.com\u002Fsimply_strava","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimply-strava.zip",85,"2026-03-15T15:16:48.613Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":78,"download_link":79,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"marquee-running-text","Marquee Running Text","1.1.7","Bongdevs","https:\u002F\u002Fprofiles.wordpress.org\u002Fbongdevs\u002F","\u003Cp>\u003Cstrong>Marquee Running Text\u003C\u002Fstrong> is a lightweight and user-friendly WordPress plugin that lets you add customizable scrolling text to the top of your website’s header. It’s fully responsive and designed to work seamlessly with popular page builders—no coding required.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>No setup needed:\u003C\u002Fstrong> Get started right away.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show\u002FHide option:\u003C\u002Fstrong> Easily toggle the marquee in the top header.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlimited colors:\u003C\u002Fstrong> Customize the text and background to match your site’s design.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple texts:\u003C\u002Fstrong> Add up to five individual marquee texts, each with its own link.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Page builder support:\u003C\u002Fstrong> Works with popular page builders without any extra configuration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> Display the marquee anywhere on your site using \u003Ccode>[mrtext]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>[mrtext]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Use this shortcode to display the marquee anywhere on your site.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>In Posts\u002FPages:\u003C\u002Fstrong> Use the Shortcode block in the editor or simply type \u003Ccode>[mrtext]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>In Widgets:\u003C\u002Fstrong> Add a Shortcode widget and paste \u003Ccode>[mrtext]\u003C\u002Fcode> into it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>In Theme Files:\u003C\u002Fstrong> Add \u003Ccode>\u003C?php echo do_shortcode('[mrtext]'); ?>\u003C\u002Fcode> to your theme’s PHP files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbongdevs.com\u002Fwp-assets-marquee-running-text-pro\u002F\" rel=\"nofollow ugc\">Download Marquee Running Text Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Exclusive Pro Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>Unlimited Marquees:\u003C\u002Fstrong> Create as many marquees as you want and place them in various sections of your site.\u003C\u002Fli>\n\u003Cli>🎨 \u003Cstrong>Advanced Customization:\u003C\u002Fstrong> Choose custom fonts, background colors, animation styles, and more.\u003C\u002Fli>\n\u003Cli>🚀 \u003Cstrong>Enhanced Performance:\u003C\u002Fstrong> Enjoy a smoother scrolling experience with lightweight, optimized code.\u003C\u002Fli>\n\u003Cli>📞 \u003Cstrong>Priority Support:\u003C\u002Fstrong> Get dedicated customer support for your questions and issues.\u003C\u002Fli>\n\u003Cli>🔄 \u003Cstrong>Regular Updates:\u003C\u002Fstrong> Stay up-to-date with the latest enhancements and features.\u003C\u002Fli>\n\u003C\u002Ful>\n","Display eye-catching running text in your site's header effortlessly with the Marquee Running Text plugin.",5000,37529,92,5,"2025-12-22T18:59:00.000Z","6.8.5","5.0","5.6",[73,74,75,76,77],"admin","marquee","running-text","slider","text-slider","https:\u002F\u002Fbongodevs.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmarquee-running-text.1.1.7.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":24,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":94,"tags":95,"homepage":100,"download_link":101,"security_score":102,"vuln_count":30,"unpatched_count":13,"last_vuln_date":103,"fetched_at":55},"os-datahub-maps","OS DataHub Maps","1.8.4","skirridsystems","https:\u002F\u002Fprofiles.wordpress.org\u002Fskirridsystems\u002F","\u003Cp>This plugin allows maps to be inserted into a page or post using the new Ordnance Survey Data Hub platform which launched in 2020. It displays UK \u003Ca href=\"https:\u002F\u002Fosdatahub.os.uk\u002F\" rel=\"nofollow ugc\">Ordnance Survey maps\u003C\u002Fa> with their legendary level of topographical detail, making them ideal for walking, cycling, riding, and just about anything outdoors-related. You can add routes from GPX files, elevation profiles, and markers for points of interest.\u003C\u002Fp>\n\u003Cp>The plugin takes over where the previous plugin, OS OpenSpace Maps, left off. Using the new OS Data Hub and its suite of APIs, you now have access to the full 1:25,000 Explorer mapping as well as the 1:50,000 Landranger series. And the free allowances are a lot more generous, offering typically 2,000,000 map views per month.\u003C\u002Fp>\n\u003Cp>This plugin uses Leaflet.js to display the maps, giving a clean interface and a responsive feel with easy zoom control, full screen view and even printing. Insert the \u003Ccode>[osmap]\u003C\u002Fcode> shortcode anywhere in your post, page or custom post type content to display a map.\u003C\u002Fp>\n\u003Cp>The map is set up using shortcode attributes, and there are now more of these than can be described in this Readme file. For full details, please check the \u003Ca href=\"https:\u002F\u002Fskirridsystems.co.uk\u002Fos-datahub-maps\u002F\" rel=\"nofollow ugc\">plugin homepage\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Additional Shortcodes\u003C\u002Fh4>\n\u003Cp>Display one of the marker icons inline with your text using \u003Ccode>[osmap_marker color=red]\u003C\u002Fcode>. This may be used to add annotation to your maps.\u003C\u002Fp>\n\u003Cp>Use \u003Ccode>[osmap_link marker=1 zoom=8]\u003C\u002Fcode> in conjunction with \u003Ccode>marker_link=link\u003C\u002Fcode> attribute to embedded a link within text on the page. When clicked, the map will be scrolled into view, zoomed onto the marker position and the marker opened.\u003C\u002Fp>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>[osmap]\u003C\u002Fcode> displays a map at the default height and zoom level, centred on OS headquarters in Southampton. This is the simplest way to test that the plugin is working.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>[osmap height=\"300\" width=\"300\" color=\"blue\" gpx=\"http:\u002F\u002Fwww.example.co.uk\u002Fmyfile.gpx\"]\u003C\u002Fcode> displays a 300px by 300px window containing a blue track from the file specified.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>[osmap markers=\"NY2000008000;Wasdale\"]\u003C\u002Fcode>shows a default size and zoom window with a marker placed and the popup text “Wasdale”\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Migration from OS OpenSpace Maps\u003C\u002Fh4>\n\u003Cp>Ordnance Survey has now shut down the OpenSpace Maps service. This plugin aims to give a seamless upgrade to use the new Data Hub Maps service instead. It uses the same shortcode and all the same attributes are supported.\u003C\u002Fp>\n\u003Cp>The Data Hub service is a significant upgrade from OpenSpace, allowing use of the excellent 1:25,000 Explorer mapping. It also has a much more generous free data allowance, typically 2 million map views per month.\u003C\u002Fp>\n\u003Cp>The plugin itself is also a major upgrade, with many more features than the original OpenSpace plugin.\u003C\u002Fp>\n","A plugin to display UK Ordnance Survey maps with markers and tracks.",200,9142,16,"2026-02-02T18:39:00.000Z","6.9.4","4.5","5.6.0",[18,96,97,98,99],"map","ordnance-survey","riding","walking","https:\u002F\u002Fskirridsystems.co.uk\u002Fos-datahub-maps\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fos-datahub-maps.1.8.4.zip",97,"2026-02-02 18:50:54",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":24,"downloaded":112,"rating":13,"num_ratings":13,"last_updated":113,"tested_up_to":47,"requires_at_least":114,"requires_php":14,"tags":115,"homepage":119,"download_link":120,"security_score":54,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"wp-routes","WP-Routes Plugin","0.4","funkster","https:\u002F\u002Fprofiles.wordpress.org\u002Ffunkster\u002F","\u003Cp>WP-Routes Plugin allows you to embed routes into wordpress posts and pages. It is ideal for WordPress Blogs dedicated to cyclists, mountain bikers, runners, joggers, walkers, hikers, swimmers, canoeists, sailers, motorbikers and anyone else looking for routes, trails or tracks, on roads, paths, trails or even on water.\u003C\u002Fp>\n\u003Cp>WP-Routes\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.gpsies.com\u002F\" rel=\"nofollow ugc\">GPSies\u003C\u002Fa> is an interactive service that lets you view, print or download routes, tracks and trails. These routes are available on-screen for those researching new tracks, printable for those who want to take a paper copy with them or downloadable to a wide variety of devices for those a little more tech savvy.\u003C\u002Fp>\n\u003Cp>Routes are searchable by an interactive map and list details such as distance, elevation, route characteristics etc. It uses the GPSies API [http:\u002F\u002Fwww.gpsies.com\u002Fapi\u002FGPSiesAPI_en.pdf] and allows you to embed GPS maps direct into your wordpress blog.\u003C\u002Fp>\n\u003Cp>Based on an original idea by Flavio Alberti [http:\u002F\u002Fflavio.alicubi.net\u002Fgpsiesembed\u002F] and further developed by \u003Ca href=\"https:\u002F\u002Fplus.google.com\u002F106960773695030875332\u002Fabout\" rel=\"nofollow ugc\">Mark Taylor\u003C\u002Fa> at \u003Ca href=\"http:\u002F\u002Fwww.bikes.org.uk\u002F\" rel=\"nofollow ugc\">Bikes.org.uk\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Map Features\u003C\u002Fp>\n\u003Cp>The WP-Routes plugin feature rich and fully interactive maps. Key features include;\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Interactive Map\u003C\u002Fli>\n\u003Cli>Zoom In & Out\u003C\u002Fli>\n\u003Cli>Highlighted Route\u003C\u002Fli>\n\u003Cli>Route Distances in kilometers & miles\u003C\u002Fli>\n\u003Cli>Altitudes in meters & feet\u003C\u002Fli>\n\u003Cli>Dynamic Altitude Profile\u003C\u002Fli>\n\u003Cli>Altitude Range (min & max altitudes)\u003C\u002Fli>\n\u003Cli>Total Climb & Descents\u003C\u002Fli>\n\u003Cli>Printable Map\u003C\u002Fli>\n\u003Cli>Download to GPS Devices\u003C\u002Fli>\n\u003Cli>Track Types\u003C\u002Fli>\n\u003Cli>Locations (country, city, latitude, longitude)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>One of the things that puts this GPS route finder ahead of other web services is that each route can be downloaded in a wide variety of file types, including downloads to all the leading GPS devices. This is the full range of downloadable options;\u003C\u002Fp>\n\u003Cul>\n\u003Cli>On-Screen via GPSies Website\u003C\u002Fli>\n\u003Cli>Printable Routes\u003C\u002Fli>\n\u003Cli>Google Earth .kml or .kmz file\u003C\u002Fli>\n\u003Cli>GPX Route & Trail\u003C\u002Fli>\n\u003Cli>CSV or MS Excel file\u003C\u002Fli>\n\u003Cli>PCX5 Track\u003C\u002Fli>\n\u003Cli>Garmin Course CRS & TCX\u003C\u002Fli>\n\u003Cli>OVL (ASCII)\u003C\u002Fli>\n\u003Cli>Fugawi\u003C\u002Fli>\n\u003Cli>KOMPASS Verlag\u003C\u002Fli>\n\u003Cli>GeoRSS Track\u003C\u002Fli>\n\u003Cli>OziExplorer\u003C\u002Fli>\n\u003Cli>MagicMaps IKT\u003C\u002Fli>\n\u003Cli>JSON Track\u003C\u002Fli>\n\u003Cli>PathAway\u003C\u002Fli>\n\u003Cli>Navigon RTE 5.x & 6.x\u003C\u002Fli>\n\u003Cli>Navigon Freshroute\u003C\u002Fli>\n\u003Cli>TomTom ITN\u003C\u002Fli>\n\u003Cli>Magellan Track\u003C\u002Fli>\n\u003Cli>CompeGPS Track\u003C\u002Fli>\n\u003Cli>qpeGPS Track\u003C\u002Fli>\n\u003Cli>Garmin Logbook\u003C\u002Fli>\n\u003C\u002Ful>\n","Add Cycle Routes, Mountain Bike Trails, Running Tracks, Walking Routes and much more to your posts and pages.",8302,"2012-11-28T21:04:00.000Z","2.5",[18,116,117,49,118],"cycling-routes","google-maps","gpsies","http:\u002F\u002Fwww.bikes.org.uk\u002Froute-finder\u002Fwp-routes-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-routes.zip",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":31,"downloaded":129,"rating":24,"num_ratings":30,"last_updated":130,"tested_up_to":92,"requires_at_least":131,"requires_php":14,"tags":132,"homepage":136,"download_link":137,"security_score":138,"vuln_count":30,"unpatched_count":13,"last_vuln_date":139,"fetched_at":55},"run-log","Run Log","1.7.12","izem","https:\u002F\u002Fprofiles.wordpress.org\u002Fizem\u002F","\u003Cp>The plugin add running diary capabilities to WordPress, so you can log and display your running [and other sporting] activities in posts. Share runs, total mileage (or kilometers), total time spent running, etc. Track your shoes usage, and\u002For other sporting gear. Link and group your activities by goals.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Add custom post type for logging a running activity.\u003C\u002Fli>\n\u003Cli>Log distance and duration (elevation gain and calories) for each run in custom fields of run-log posts.\u003C\u002Fli>\n\u003Cli>Calculate pace\u002Fspeed automatically.\u003C\u002Fli>\n\u003Cli>Display the above data in the post automatically.\u003C\u002Fli>\n\u003Cli>Widget and shortcode for displaying totals – distance, time, elevation gain, calories (and average pace\u002Fspeed for shortcode).\u003C\u002Fli>\n\u003Cli>Option to choose light or dark style theme, to blend with your theme.\u003C\u002Fli>\n\u003Cli>Quick embed your STRAVA and\u002For Garmin Connect activity in the post (displaying data and map from your account).\u003C\u002Fli>\n\u003Cli>Add custom taxonomies for gear (like shoes) and goals (like “sub 4 marathon”) that could be connected to run-log posts (and regular posts). You may trak distance run with shoes usage by this (as well as other gear).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Localization\u003C\u002Fh4>\n\u003Cp>Support RTL languages sites.\u003C\u002Fp>\n\u003Cp>The metric system of measurement is used by default – Kilometer (km) for distance, minutes per kilometer (min\u002Fkm) for pace, kilometers per hour (km\u002Fh) for speed [and meters (m) for elevation].\u003Cbr \u002F>\nYou can change these to statute\u002Fimperial by updating plugin’s “Distance unit” option to mi (Mile).\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Hebrew – full translations.\u003C\u002Fli>\n\u003Cli>English – default. Not my mother tongue, so may have some wording and spelling mistakes. Do tell me how to correct them if you find any.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>[After activating the plugin]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>To log a new run you can follow these steps:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>On the admin menu there will be a new sub-menu: “Run Log” – from it’s options, select “Add New” (or click on “Run” from the “New” sub-menu of the top menu).\u003C\u002Fli>\n\u003Cli>Enter a title for this run (as post title), write your run description (e.g. type of run, location, how you fealt, etc.) in the body. You can add media (photos, videos) if you want, as you would do with a normal post.\u003C\u002Fli>\n\u003Cli>Under the main editing area (body) you should see the “Run Log Parameters” box. There you enter the distance and duration of the run.\u003C\u002Fli>\n\u003Cli>[Optional] You may add the elevation gain and\u002For calories for that activety (at “Run Log Parameters” box).\u003C\u002Fli>\n\u003Cli>[Optional] You may add the gear you used in this run on the “Gears” box (like shoes and track shoes mileage by this).\u003C\u002Fli>\n\u003Cli>[Optional] You may add the goal, that this run is part of the road to it, on the “Goals” box (so you’ll be able to see all of them in one page, as well as the total distance\u002Ftime).\u003C\u002Fli>\n\u003Cli>[Optional] You may add your “STRAVA” or “Garmin Connect” activity ID, to embed your activity’s data and map from your account (instead of the regular plugin’s display).\u003C\u002Fli>\n\u003Cli>Publish.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>If you want to configure run log data (distance, duration, pace\u002Fspeed), you can do this on the “Run Log Options”, accessible via the “Run Log” admin sub-menu. There you can select between top\u002Fbottom display position, Kilometer\u002FMiles units, and pace\u002Fspeed.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>To display your totals\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Use \u003Ccode>[oirl_total]\u003C\u002Fcode> Shortcode with (or without) these optional attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>only: distance\u002Ftime\u002Felevation\u002Fcalories;\u003C\u002Fli>\n\u003Cli>year: a 4-digit year – display totals for this year only;\u003C\u002Fli>\n\u003Cli>month: 1 or 2 digits for month (may have leading zero) – display totals for this year only (mast be used in conjunction with ‘year’ attribute);\u003C\u002Fli>\n\u003Cli>hide_pace: yes\u002Fno – if ‘yes’ will not show the average pace\u002Fspeed;\u003C\u002Fli>\n\u003Cli>days_display: true\u002Ffalse – display days in total time if more then 24 hours.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All-time distance + time + average pace\u002Fspeed:\n\u003Cul>\n\u003Cli>\u003Ccode>[oirl_total]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>2015 totals without average pace\u002Fspeed (display distance + time):\n\u003Cul>\n\u003Cli>\u003Ccode>[oirl_total year=\"2015\" hide_pace=\"yes\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>January 2016 totals (distance + time + average pace\u002Fspeed):\n\u003Cul>\n\u003Cli>\u003Ccode>[oirl_total year=\"2016\" month=\"1\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>All-time distance:\n\u003Cul>\n\u003Cli>\u003Ccode>[oirl_total only=\"distance\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>All-time duration (displaying days if more then 24 hours):\n\u003Cul>\n\u003Cli>\u003Ccode>[oirl_total only=\"time\" days_display=\"yes\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Total elevation gain for 2016:\n\u003Cul>\n\u003Cli>\u003Ccode>[oirl_total only=\"elevation\" year=\"2016\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>The plugin icon was \u003Ca href=\"http:\u002F\u002Fwww.freepik.com\" rel=\"nofollow ugc\">Designed by Freepik\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>To Do:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Add option to display elevation and calories on run-log posts.\u003C\u002Fli>\n\u003Cli>Add hart rate(?).\u003C\u002Fli>\n\u003Cli>Add how you felt scale(?).\u003C\u002Fli>\n\u003Cli>More quick embed sources (polar, suunto, runkeeper, runtastic, etc).\u003C\u002Fli>\n\u003Cli>Add API support to retrieve data automatically form: Strava, Garmin Connect, Sunto Movescount, Runkeepr, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Uninstall\u003C\u002Fh4>\n\u003Cp>This plugin doesn’t add\u002Fchange the data-base structurer, so no worry about that. Yet, it does store plugin configuration options in the ‘options’ table. These options will be removed if plugin is uninstall (deleted) trough the plugins admin screen.\u003Cbr \u002F>\nData stored by this plugin for posts (in postmeta table) will be kept.\u003C\u002Fp>\n","Add running diary capabilities - log your sport activities, track and display: distance, duration, gear (e.g. shoes), elevation gain, calories, etc.",11115,"2026-02-07T20:22:00.000Z","4.0",[133,20,134,50,135],"run-diary","sport","training-log","https:\u002F\u002Fizmirli.org\u002Frun-log\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frun-log.1.7.12.zip",99,"2025-09-10 18:53:02",{"attackSurface":141,"codeSignals":198,"taintFlows":484,"riskAssessment":538,"analyzedAt":551},{"hooks":142,"ajaxHandlers":188,"restRoutes":189,"shortcodes":190,"cronEvents":193,"entryPointCount":30,"unprotectedCount":13},[143,149,152,156,160,164,168,172,176,180,184],{"type":144,"name":145,"callback":146,"file":147,"line":148},"action","plugins_loaded","runpress_autoupdate_db_check","runpress.php",73,{"type":144,"name":145,"callback":150,"file":147,"line":151},"runpress_load_textdomain",74,{"type":144,"name":153,"callback":154,"file":147,"line":155},"widgets_init","runpress_register_widget",75,{"type":144,"name":157,"callback":158,"file":147,"line":159},"admin_menu","runpress_admin_menu",76,{"type":144,"name":161,"callback":162,"file":147,"line":163},"runpress_event_hook","runpress_cronjob_event",77,{"type":144,"name":165,"callback":166,"file":147,"line":167},"wp_enqueue_scripts","runpress_enqueue_google_api",78,{"type":144,"name":169,"callback":170,"file":147,"line":171},"wp_dashboard_setup","runpress_add_dashboard_widget",79,{"type":144,"name":173,"callback":174,"file":147,"line":175},"wpmu_new_blog","runpress_create_subscribe_table_mu",82,{"type":177,"name":178,"callback":179,"file":147,"line":54},"filter","cron_schedules","runpress_add_cronjob_definitions",{"type":177,"name":181,"callback":182,"file":147,"line":183},"wpmu_drob_tables","runpress_delete_subscribe_table_mu",89,{"type":144,"name":185,"callback":186,"file":147,"line":187},"admin_notices","runpress_admin_notices",96,[],[],[191],{"tag":4,"callback":192,"file":147,"line":66},"runpress_shortcode",[194,196],{"hook":161,"callback":161,"file":147,"line":195},1590,{"hook":161,"callback":161,"file":147,"line":197},1595,{"dangerousFunctions":199,"sqlUsage":200,"outputEscaping":270,"fileOperations":13,"externalRequests":30,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":480},[],{"prepared":13,"raw":201,"locations":202},32,[203,207,210,211,213,214,216,217,220,223,225,227,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268],{"file":204,"line":205,"context":206},"inc\\widget\\runpress-widget.php",130,"$wpdb->get_row() with variable interpolation",{"file":204,"line":208,"context":209},163,"$wpdb->get_var() with variable interpolation",{"file":204,"line":208,"context":209},{"file":204,"line":212,"context":209},165,{"file":204,"line":212,"context":209},{"file":204,"line":215,"context":209},166,{"file":204,"line":215,"context":209},{"file":204,"line":218,"context":219},186,"$wpdb->get_results() with variable interpolation",{"file":147,"line":221,"context":222},171,"$wpdb->get_col() with variable interpolation",{"file":147,"line":224,"context":209},199,{"file":147,"line":226,"context":222},273,{"file":147,"line":228,"context":229},324,"$wpdb->query() with variable interpolation",{"file":147,"line":231,"context":229},326,{"file":147,"line":233,"context":229},344,{"file":147,"line":235,"context":209},347,{"file":147,"line":237,"context":206},425,{"file":147,"line":239,"context":219},432,{"file":147,"line":241,"context":209},434,{"file":147,"line":243,"context":209},435,{"file":147,"line":245,"context":219},469,{"file":147,"line":247,"context":209},903,{"file":147,"line":249,"context":219},905,{"file":147,"line":251,"context":229},1170,{"file":147,"line":253,"context":206},1234,{"file":147,"line":255,"context":206},1238,{"file":147,"line":257,"context":219},1322,{"file":147,"line":259,"context":219},1327,{"file":147,"line":261,"context":219},1329,{"file":147,"line":263,"context":209},1612,{"file":147,"line":265,"context":219},1830,{"file":147,"line":267,"context":219},1997,{"file":147,"line":269,"context":209},2227,{"escaped":271,"rawEcho":272,"locations":273},4,111,[274,276,278,280,282,284,286,288,290,292,294,296,298,299,301,303,305,307,309,310,312,313,315,317,318,320,322,323,325,327,328,330,332,334,336,337,339,340,342,344,346,348,350,351,353,354,356,358,360,362,364,366,368,370,372,374,376,377,379,381,382,384,386,387,388,390,392,393,395,397,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478],{"file":204,"line":175,"context":275},"raw output",{"file":204,"line":277,"context":275},84,{"file":204,"line":279,"context":275},139,{"file":204,"line":281,"context":275},143,{"file":204,"line":283,"context":275},146,{"file":204,"line":285,"context":275},147,{"file":204,"line":287,"context":275},148,{"file":204,"line":289,"context":275},149,{"file":204,"line":291,"context":275},150,{"file":204,"line":293,"context":275},151,{"file":204,"line":295,"context":275},169,{"file":204,"line":297,"context":275},170,{"file":204,"line":221,"context":275},{"file":204,"line":300,"context":275},189,{"file":204,"line":302,"context":275},212,{"file":204,"line":304,"context":275},223,{"file":204,"line":306,"context":275},251,{"file":204,"line":308,"context":275},252,{"file":204,"line":308,"context":275},{"file":204,"line":311,"context":275},254,{"file":204,"line":311,"context":275},{"file":204,"line":314,"context":275},255,{"file":204,"line":316,"context":275},257,{"file":204,"line":316,"context":275},{"file":204,"line":319,"context":275},258,{"file":204,"line":321,"context":275},260,{"file":204,"line":321,"context":275},{"file":204,"line":324,"context":275},261,{"file":204,"line":326,"context":275},271,{"file":204,"line":326,"context":275},{"file":204,"line":329,"context":275},272,{"file":147,"line":331,"context":275},427,{"file":147,"line":333,"context":275},429,{"file":147,"line":335,"context":275},437,{"file":147,"line":335,"context":275},{"file":147,"line":338,"context":275},438,{"file":147,"line":338,"context":275},{"file":147,"line":341,"context":275},443,{"file":147,"line":343,"context":275},446,{"file":147,"line":345,"context":275},454,{"file":147,"line":347,"context":275},457,{"file":147,"line":349,"context":275},472,{"file":147,"line":349,"context":275},{"file":147,"line":352,"context":275},473,{"file":147,"line":352,"context":275},{"file":147,"line":355,"context":275},478,{"file":147,"line":357,"context":275},481,{"file":147,"line":359,"context":275},489,{"file":147,"line":361,"context":275},492,{"file":147,"line":363,"context":275},506,{"file":147,"line":365,"context":275},614,{"file":147,"line":367,"context":275},692,{"file":147,"line":369,"context":275},771,{"file":147,"line":371,"context":275},779,{"file":147,"line":373,"context":275},788,{"file":147,"line":375,"context":275},792,{"file":147,"line":375,"context":275},{"file":147,"line":378,"context":275},793,{"file":147,"line":380,"context":275},797,{"file":147,"line":380,"context":275},{"file":147,"line":383,"context":275},798,{"file":147,"line":385,"context":275},804,{"file":147,"line":385,"context":275},{"file":147,"line":385,"context":275},{"file":147,"line":389,"context":275},805,{"file":147,"line":391,"context":275},812,{"file":147,"line":391,"context":275},{"file":147,"line":394,"context":275},813,{"file":147,"line":396,"context":275},820,{"file":147,"line":396,"context":275},{"file":147,"line":399,"context":275},821,{"file":147,"line":401,"context":275},902,{"file":147,"line":403,"context":275},904,{"file":147,"line":405,"context":275},906,{"file":147,"line":407,"context":275},946,{"file":147,"line":409,"context":275},963,{"file":147,"line":411,"context":275},972,{"file":147,"line":413,"context":275},981,{"file":147,"line":415,"context":275},1154,{"file":147,"line":417,"context":275},1403,{"file":147,"line":419,"context":275},1408,{"file":147,"line":421,"context":275},1511,{"file":147,"line":423,"context":275},1611,{"file":147,"line":425,"context":275},1613,{"file":147,"line":427,"context":275},1618,{"file":147,"line":429,"context":275},1628,{"file":147,"line":431,"context":275},1638,{"file":147,"line":433,"context":275},1651,{"file":147,"line":435,"context":275},1685,{"file":147,"line":437,"context":275},1747,{"file":147,"line":439,"context":275},1748,{"file":147,"line":441,"context":275},1749,{"file":147,"line":443,"context":275},1750,{"file":147,"line":445,"context":275},1758,{"file":147,"line":447,"context":275},1822,{"file":147,"line":449,"context":275},1823,{"file":147,"line":451,"context":275},1825,{"file":147,"line":453,"context":275},1828,{"file":147,"line":455,"context":275},1979,{"file":147,"line":457,"context":275},1998,{"file":147,"line":459,"context":275},2005,{"file":147,"line":461,"context":275},2042,{"file":147,"line":463,"context":275},2053,{"file":147,"line":465,"context":275},2237,{"file":147,"line":467,"context":275},2283,{"file":147,"line":469,"context":275},2284,{"file":147,"line":471,"context":275},2286,{"file":147,"line":473,"context":275},2288,{"file":147,"line":475,"context":275},2292,{"file":147,"line":477,"context":275},2293,{"file":147,"line":479,"context":275},2294,[481],{"name":482,"version":25,"knownCves":483},"DataTables",[],[485,513,525],{"entryPoint":486,"graph":487,"unsanitizedCount":511,"severity":512},"runpress_options (runpress.php:660)",{"nodes":488,"edges":507},[489,494,500,503],{"id":490,"type":491,"label":492,"file":147,"line":493},"n0","source","$_POST (x5)",699,{"id":495,"type":496,"label":497,"file":147,"line":498,"wp_function":499},"n1","sink","update_option() [Settings Manipulation]",700,"update_option",{"id":501,"type":491,"label":502,"file":147,"line":493},"n2","$_POST (x2)",{"id":504,"type":496,"label":505,"file":147,"line":375,"wp_function":506},"n3","echo() [XSS]","echo",[508,510],{"from":490,"to":495,"sanitized":509},false,{"from":501,"to":504,"sanitized":509},7,"medium",{"entryPoint":514,"graph":515,"unsanitizedCount":30,"severity":524},"runpress_sync (runpress.php:1567)",{"nodes":516,"edges":522},[517,520],{"id":490,"type":491,"label":518,"file":147,"line":519},"$_POST",1587,{"id":495,"type":496,"label":497,"file":147,"line":521,"wp_function":499},1588,[523],{"from":490,"to":495,"sanitized":509},"low",{"entryPoint":526,"graph":527,"unsanitizedCount":537,"severity":524},"\u003Crunpress> (runpress.php:0)",{"nodes":528,"edges":534},[529,531,532,533],{"id":490,"type":491,"label":530,"file":147,"line":493},"$_POST (x6)",{"id":495,"type":496,"label":497,"file":147,"line":498,"wp_function":499},{"id":501,"type":491,"label":502,"file":147,"line":493},{"id":504,"type":496,"label":505,"file":147,"line":375,"wp_function":506},[535,536],{"from":490,"to":495,"sanitized":509},{"from":501,"to":504,"sanitized":509},8,{"summary":539,"deductions":540},"The runpress plugin v1.4.2 exhibits a mixed security posture. On the positive side, the plugin has no known historical vulnerabilities (CVEs), which suggests a history of responsible development and maintenance. Furthermore, the static analysis indicates a small attack surface with no unprotected AJAX handlers or REST API routes, and a limited number of shortcodes and cron events. Taint analysis also shows no critical or high severity flows with unsanitized paths, and no dangerous functions are used.\n\nHowever, there are significant concerns within the code's implementation. The plugin heavily relies on SQL queries without utilizing prepared statements, a practice that exposes it to a high risk of SQL injection vulnerabilities. Compounding this, the output escaping is exceptionally poor, with only 3% of outputs being properly escaped, indicating a severe risk of Cross-Site Scripting (XSS) vulnerabilities. The complete absence of nonce checks and capability checks for its entry points is also a major security weakness, allowing unauthorized users to potentially trigger plugin functionalities. The presence of the DataTables library, if not managed and updated diligently, could also introduce risks if it's an outdated version.\n\nIn conclusion, while the plugin benefits from a clean vulnerability history and a controlled attack surface, the lack of prepared statements for SQL queries and the pervasive lack of output escaping create substantial security risks. The absence of nonce and capability checks further exacerbates these issues. The plugin requires immediate attention to address these fundamental security flaws to mitigate the significant XSS and SQL injection potential.",[541,543,545,547,549],{"reason":542,"points":44},"SQL queries without prepared statements",{"reason":544,"points":44},"Poor output escaping (only 3% properly escaped)",{"reason":546,"points":11},"No nonce checks",{"reason":548,"points":11},"No capability checks",{"reason":550,"points":271},"Bundled library (DataTables) - potential for outdated version","2026-03-16T23:32:04.200Z",{"wat":553,"direct":562},{"assetPaths":554,"generatorPatterns":557,"scriptPaths":558,"versionParams":559},[555,556],"\u002Fwp-content\u002Fplugins\u002Frunpress\u002Finc\u002Fcss\u002Fwidget.css","\u002Fwp-content\u002Fplugins\u002Frunpress\u002Finc\u002Fjs\u002Fwidget.js",[],[556],[560,561],"\u002Fwp-content\u002Fplugins\u002Frunpress\u002Finc\u002Fcss\u002Fwidget.css?ver=","\u002Fwp-content\u002Fplugins\u002Frunpress\u002Finc\u002Fjs\u002Fwidget.js?ver=",{"cssClasses":563,"htmlComments":566,"htmlAttributes":567,"restEndpoints":568,"jsGlobals":569,"shortcodeOutput":570},[564,565],"runpress-widget","runpress_widget",[],[],[],[],[]]