public final function get_report()
{
$result = [];
foreach ($this->get_fields() as $field_name => $field_label) {
$method = 'get_' . $field_name;
if (!method_exists($this, $method)) {
return new \WP_error("Getter method for the field '{$field_name}' wasn't found in " . get_called_class());
}
$reporter_field = ['name' => $field_name, 'label' => $field_label];
$reporter_field = array_merge($reporter_field, $this->{$method}());
$result[$field_name] = $reporter_field;
}
return $result;
}