getConfig()) { require __DIR__ . '/../config/settings.config.php'; $this->setConfig($settingFields); } } /** * Iterate through the config class property, * Construct the relevant settings section and field * as defined in the file. */ public function constructInputs() { $settingFields = $this->getConfig(); foreach($settingFields as $key => $val) { register_setting('AbolWidgetConfiguration', $key); add_settings_section( $val['section']['slug'], $val['section']['title'], $val['section']['callback'], 'AbolWidgetConfiguration' ); if(isset($val['inputs'])) { foreach($val['inputs'] as $k => $v) { add_settings_field( $v['slug'], $v['label'], $v['callback'], 'AbolWidgetConfiguration', $val['section']['slug'] ); } } else { add_settings_field( $val['input']['slug'], $val['input']['label'], $val['input']['callback'], 'AbolWidgetConfiguration', $val['section']['slug'] ); } } } public function getConfig() { return $this->config; } public function setConfig($config) { $this->config = $config; return $this; } }