private function meta_components()
{
$components = array();
// Get the component order
$meta_component_order = $this->get_setting('meta_component_order');
if (!empty($meta_component_order) && is_array($meta_component_order)) {
foreach ($meta_component_order as $i => $component) {
$method = 'content_' . $component;
if (method_exists($this, $method) && $this->{$method}()) {
$component = $this->get_component_from_shortname($component, $this->{$method}())->to_array();
// Cover needs different margins when it's not first
if ('header' === $component['role'] && 0 !== $i) {
$component['layout'] = 'headerBelowTextPhotoLayout';
}
$components[] = $component;
}
}
}
return $components;
}