public function register_source($source_class, $args = [])
{
if (!class_exists($source_class)) {
return new \WP_Error('source_class_name_not_exists');
}
$source_instance = new $source_class($args);
if (!$source_instance instanceof Source_Base) {
return new \WP_Error('wrong_instance_source');
}
$this->_registered_sources[$source_instance->get_id()] = $source_instance;
return true;
}