About this plugin
An easy way to show the all-night today and tomorrow pharmacies of Cyprus per city (Nicosia, Limassol, Larnaca, Paralimni, Paphos).
A simple example
[cypharm show_title=false]
More Options
The plugin supports the following optional parameters:
- city: select the Cyprus city between Nicosia, Limassol, Larnaca, Paralimni and Paphos (defaults to Paphos )
- title: Choose a custom title to use (defaults to false )
Data source
cy). Under Settings → Cyprus Pharmacies an administrator can switch to a custom API, entering its URL, a Client ID and a Client Secret. cy is used for that request.
The “Test connection” button checks the saved data source.
Performance Features
- Caching: API responses are cached for 12 hours to improve performance and reduce API calls
- Cache Management: Admin interface to clear cache when needed
- Smart Loading: Only makes API calls when cached data is expired or doesn’t exist
Developer Features
- Customizable Cache Duration: Use the cypharm_cache_duration filter to modify cache duration
- Cache Management: Programmatic cache clearing with clear_cache() method
- Extensible: Easy to extend with additional caching features
Customizing Cache Duration
php file:
Set cache to 24 hours:
add_filter( 'cypharm_cache_duration', function() {
return 86400; // 24 hours in seconds
});
Set cache to 1 hour:
add_filter( 'cypharm_cache_duration', function() {
return 3600; // 1 hour in seconds
});
Set cache to 30 minutes:
add_filter( 'cypharm_cache_duration', function() {
return 1800; // 30 minutes in seconds
});
Disable caching (not recommended for production):
add_filter( 'cypharm_cache_duration', function() {
return 0; // No caching
});
Using a named function (recommended):
function my_custom_cypharm_cache_duration() {
return 7200; // 2 hours in seconds
}
add_filter( 'cypharm_cache_duration', 'my_custom_cypharm_cache_duration' );
Credits
- National Opendata Portal
External services
This plugin connects to external services to get the list of on-duty (all-night) pharmacies. It does not work without them. cy is always used by default; a custom API is used only if an administrator configures it.
cy)
The plugin requests the on-duty pharmacies schedule from the public API of the National Opendata Portal of the Republic of Cyprus.
- When: whenever a page containing the [cypharm] shortcode is rendered and the requested city and day (today or tomorrow) are not in the plugin’s cache. Requests are made by your server, not by your visitors’ browsers.
- What is sent: the city’s dataset ID and the requested date. As with any HTTP request made by WordPress, the request includes a User-Agent header with your WordPress version and your site’s URL, and your server’s IP address is visible to the service.
- Provider: Republic of Cyprus, National Opendata Portal. Disclaimer / terms of use, Privacy policy.
- It is also used as a fallback whenever the optional custom API (below) fails.
Custom API (optional, off by default)
An alternative API that serves the same schedule. It is used only if an administrator selects “Custom API” under Settings → Cyprus Pharmacies and saves its URL, a Client ID and a Client Secret. The plugin does not include any default API URL or credentials; the service, its URL and the credentials are provided by its operator, and that operator’s terms of service and privacy policy apply.
- When: whenever a page containing the [cypharm] shortcode is rendered and the requested city and day are not in the plugin’s cache, and when an administrator clicks “Test connection”. Requests are made by your server, not by your visitors’ browsers.
- What is sent: the city name and the requested date; the Client ID and Client Secret, as HTTP headers used for authentication; a User-Agent header with your WordPress version and your site’s URL. Your server’s IP address is visible to the service. No information about your visitors is sent.