Description
This plugin allows any WordPress page to act as an External Login page for CloudWiFi.
It handles the entire flow:
1. Login: Displays a login button that redirects the user back to the hotspot.
2. Success: Displays a success message after authorization.
3. Error: Displays detailed error messages if the login fails (e.g., timeout, license exceeded).
Features:
* One Shortcode: Use [frederix_external_login] for everything.
* Automatic Mode: Automatically detects if it should show the Login button, Success message, or Error message based on the URL parameters.
* Flexible Configuration: Use different pages for Login/Success/Error if desired.
* Customizable Messages: Change the button text and messages via shortcode attributes.
* Secure: Validates and sanitizes all inputs.
Shortcode Options
You can customize the shortcode with the following attributes:
mode: Controls what the shortcode displays.auto(default): Automatically switches based on URL status (status=successorstatus=error).login: Forces the display of the login button.success: Forces the display of the success message.error: Forces the display of the error message.
text: The text on the login button. Default: “Login & Connect”.success_message: The message shown on success. Default: “You are now logged in…”error_message: The fallback error message. Default: “An unknown error occurred.”tos_url: (Mandatory for Login) URL to your Terms of Service page.privacy_url: (Mandatory for Login) URL to your Privacy Policy page.
Examples
Standard Setup (One Page for everything):
[frederix_external_login tos_url=”/agb” privacy_url=”/datenschutz”]
Custom Button Text:
[frederix_external_login text=”Start Free WiFi” tos_url=”/agb” privacy_url=”/datenschutz”]
Separate Error Page:
If you want a dedicated error page with a custom message:
[frederix_external_login mode=”error” error_message=”Something went wrong. Please ask at the reception.”]
Dynamic Styling
The plugin automatically adds CSS classes to the main container based on the Hotspot parameters. This allows you to style the page differently for each location.
Classes added:
* fhk-hotspot-{hotspotId}
* fhk-location-{locationId}
* fhk-external-{externalId}
Example CSS:
If you want a green button for Location 123 and a blue button for Location 456:
`css
/* Location 123 – Green */
.fhk-location-123 .frederix-login-button {
background-color: green;
}
/* Location 456 – Blue */
.fhk-location-456 .frederix-login-button {
background-color: blue;
}
<h3>Conditional Content</h3>[frederix_show_if]` shortcode.
You can show or hide any content (images, text, other shortcodes) based on the location or hotspot ID using the
Attributes:
* location: Comma-separated list of Location IDs.
* hotspot: Comma-separated list of Hotspot IDs.
* external: Comma-separated list of External IDs.
Example 1: Show a specific logo only for Location 123:
`text
[frederix_show_if location=”123″]
[/frederix_show_if]
`
Example 2: Show a special notice for multiple Hotspots:
`text
[frederix_show_if hotspot=”HS-01, HS-02″]
Special maintenance today in this area!
[/frederix_show_if]
`
Example 3: Combine with the login shortcode:
`text
[frederix_show_if location=”123″]
Welcome to the Beach Club!
[frederix_external_login text="Connect to Beach WiFi"]
[/frederix_show_if]
[frederix_show_if location=”456″]
Welcome to the Lobby!
[frederix_external_login text="Connect to Lobby WiFi"]
[/frederix_show_if]
`
Installation
- Upload the
frederix-external-loginfolder to the/wp-content/plugins/directory. - Activate the plugin through the ‘Plugins’ menu in WordPress.
- Create a new page (e.g., “WiFi Login”).
- Add the shortcode
[frederix_external_login]to the page content. - Configure your Hotspot’s External Login URL, Success URL, and Error URL to point to this page.
FAQ
-
How do I test this?
-
You need a running Frederix Hotspot that redirects to your WordPress page. The hotspot will append parameters like
?callback=...or?status=success. -
Yes, the plugin includes basic CSS, but you can override
.frederix-login-buttonin your theme’s CSS.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Frederix External Login” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Frederix External Login” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.0
- Added support for Success and Error states.
- Added
modeattribute for manual control. - Added customizable messages.
1.0.0
- Initial release.