settings = WP_Smush_Settings::get_instance(); // Filters the setting variable to add module settings in premium features. add_filter( 'wp_smush_integration_settings', array( $this, 'add_setting' ), $this->priority ); // Filters the setting variable to add module setting title and description. add_filter( 'wp_smush_settings', array( $this, 'register' ) ); // Disable setting. add_filter( 'wp_smush_integration_status_' . $this->module, array( $this, 'setting_status' ) ); } /** * Append module in feature list * * @param array $settings Settings array. * * @return array */ public function add_setting( $settings ) { if ( ! isset( $settings[ $this->module ] ) ) { $settings[] = $this->module; } return $settings; } /** * Update setting status - disable module functionality if not enabled. * * @since 2.8.1 * * @return bool */ public function setting_status() { return ! $this->enabled; } }