Manage the settings of the plugin.
This class must be static or a singleton because we need to access setting from template files (search.php, single.php) into which we cannot inject a dependency to the settings by passing a instance. This class however also cannot be static if we want the settings group names and field ids to depend on the plugin slug. Therefore we implement O3PO_Settings as a singleton. It doesn't seem to be such a evil thing to do given that the settings are anyway global.
O3PO_SettingsSpecifyer | Interface for classes specifying settings. |
O3PO_Settings | Manage the settings of the plugin. |