Description
Shakvaro EGF Reader Shortcode lets you embed an EGF 1.1 interactive game player directly inside any WordPress post or page using a simple shortcode. Upload your .egf file to the Media Library, copy its URL, and drop the shortcode — the reader renders in-place with built-in pause, score, about, and settings panels.
The reader is fully client-side: once rendered it loads the .egf package, unpacks it, and plays the game without making any third-party calls.
This plugin is not affiliated with, endorsed by, or sponsored by the authors of the EGF (Educational Game Format) specification or egf-format.org. “EGF” refers to the open file format the reader supports.
Features
- Simple
[egf_reader]shortcode — no block editor required. - Allows uploading
.egffiles to the WordPress Media Library. - Built-in player UI: pause, score tracking, about-the-game, and audio/theme settings.
- Interface available in 9 languages (English, French, Spanish, Portuguese, Chinese, Arabic, Hindi, Urdu, Russian) with automatic browser-language detection.
- Light and dark themes.
- Works on any theme — the reader is self-contained and style-scoped.
Shortcode parameters
game(required) — URL of the.egfgame file to load.lang(optional, default:auto) — interface language. Useautoto pick the best language from the visitor’s browser, or force one:en,fr,es,pt,zh,ar,hi,ur,ru.theme(optional, default:light) —lightordark.nocache(optional, default:1) — set to0to allow the browser to cache the.egfpackage.
Example
[egf_reader game="https://your-site.com/wp-content/uploads/2025/04/my-game.egf" lang="auto" theme="light"]
Installation
- Upload the
shakvaro-egf-reader-shortcodefolder to the/wp-content/plugins/directory, or install the plugin through the WordPress Plugins screen. - Activate the plugin through the Plugins screen in WordPress.
- Upload an
.egffile to your Media Library and copy its URL. - Insert the shortcode into any post or page:
[egf_reader game=”https://your-site.com/wp-content/uploads/game.egf”]
FAQ
-
What is an EGF file?
-
EGF (Educational Game Format) 1.1 is an open package format for interactive games. An
.egffile is a zipped bundle containing the game’s scenes, assets, and metadata. -
Does the plugin send data to any external service?
-
No. The reader runs entirely in the visitor’s browser and loads the
.egffile from your own server (or wherever you host it). No analytics, tracking, or third-party requests are made by the plugin. -
The shortcode shows “missing game attribute” — why?
-
The
gameattribute is required and must point to the URL of your.egffile. Example:
[egf_reader game=”https://your-site.com/wp-content/uploads/game.egf”] -
WordPress won’t let me upload my .egf file.
-
Activating the plugin whitelists the
.egfextension in the Media Library. If you still see a “Sorry, this file type is not permitted for security reasons” error, your host may have additional restrictions — check with your hosting provider. -
Can I embed more than one game on the same page?
-
Yes. Each shortcode instance gets its own unique container and player state.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Shakvaro EGF Reader Shortcode” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Shakvaro EGF Reader Shortcode” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- First public release on WordPress.org.
- Renamed plugin to “Shakvaro EGF Reader Shortcode” to clarify no affiliation with the EGF project.
- Replaced
time()-based asset cache-busting with a proper plugin version constant. - Added full plugin header (License, Text Domain, Requires PHP, Requires at least, Tested up to).
- Added text domain and made all user-facing strings translatable.
- Refactored template output to escape every dynamic value at the point of echo.
