$text]]; }; return [ ['sahcs/hero', []], ['sahcs/glance', []], ['sahcs/facts', []], ['sahcs/section', ['kind' => 'overview', 'heading' => __('Overview', 'siteaudithub-case-studies')], [$p(__('Who is the client and what did they need?', 'siteaudithub-case-studies'))]], ['sahcs/section', ['kind' => 'challenges', 'heading' => __('Challenges', 'siteaudithub-case-studies')], [$p(__('What problems stood in the way?', 'siteaudithub-case-studies'))]], ['sahcs/section', ['kind' => 'solutions', 'heading' => __('Solutions', 'siteaudithub-case-studies')], [$p(__('What did you do, step by step?', 'siteaudithub-case-studies'))]], ['sahcs/results', []], ['sahcs/gallery', []], ['sahcs/testimonial', []], ['sahcs/team', []], ['sahcs/section', ['kind' => 'conclusion', 'heading' => __('Conclusion', 'siteaudithub-case-studies')], [$p(__('Sum up the outcome in two or three sentences.', 'siteaudithub-case-studies'))]], ['sahcs/cta', []], ['sahcs/related', []], ]; } /* ------------------------------------------------------------------ * Industry presets (serialised block markup) * ---------------------------------------------------------------- */ function sahcs_preset_block($name, array $attrs = [], array $inner = []) { $inner_content = []; foreach ($inner as $unused) { $inner_content[] = null; } return [ 'blockName' => $name, 'attrs' => $attrs, 'innerBlocks' => $inner, 'innerHTML' => '', 'innerContent' => $inner_content, ]; } function sahcs_preset_paragraph($placeholder) { return [ 'blockName' => 'core/paragraph', 'attrs' => ['placeholder' => $placeholder], 'innerBlocks' => [], 'innerHTML' => '
', 'innerContent' => [''], ]; } function sahcs_preset_section($kind, $heading, $placeholder, $tone = 'plain') { $attrs = ['kind' => $kind, 'heading' => $heading]; if ($tone !== 'plain') { $attrs['tone'] = $tone; } return sahcs_preset_block('sahcs/section', $attrs, [sahcs_preset_paragraph($placeholder)]); } function sahcs_preset_labels(array $labels, $key) { $items = []; foreach ($labels as $l) { $items[] = $key === 'facts' ? ['label' => $l, 'value' => '', 'url' => ''] : ['label' => $l, 'text' => '']; } return $items; } function sahcs_preset_results(array $labels, $display = 'cards') { $items = []; foreach ($labels as $l) { $items[] = ['label' => $l, 'before' => '', 'after' => '', 'prefix' => '', 'suffix' => '', 'better' => 'higher']; } return sahcs_preset_block('sahcs/results', ['display' => $display, 'items' => $items]); } function sahcs_industry_presets() { $b = 'sahcs_preset_block'; $s = 'sahcs_preset_section'; $facts = function ($labels) { return sahcs_preset_block('sahcs/facts', ['items' => sahcs_preset_labels($labels, 'facts')]); }; $glance = function ($labels) { return sahcs_preset_block('sahcs/glance', ['items' => sahcs_preset_labels($labels, 'glance')]); }; $end = [$b('sahcs/testimonial'), $b('sahcs/team'), $b('sahcs/cta'), $b('sahcs/related')]; $presets = [ 'agency' => [ 'label' => __('Web, app or Shopify agency', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $glance([__('Client', 'siteaudithub-case-studies'), __('Challenge', 'siteaudithub-case-studies'), __('Solution', 'siteaudithub-case-studies'), __('Result', 'siteaudithub-case-studies')]), $facts([__('Industry', 'siteaudithub-case-studies'), __('Project', 'siteaudithub-case-studies'), __('Technology', 'siteaudithub-case-studies'), __('Website', 'siteaudithub-case-studies')]), $s('overview', __('The brief', 'siteaudithub-case-studies'), __('What did the client want to build or fix?', 'siteaudithub-case-studies')), $s('challenges', __('Challenges', 'siteaudithub-case-studies'), __('Technical and business problems you had to solve.', 'siteaudithub-case-studies')), $s('solutions', __('Solutions', 'siteaudithub-case-studies'), __('What you built: features, integrations, apps and design decisions.', 'siteaudithub-case-studies')), sahcs_preset_results([__('Mobile PageSpeed score', 'siteaudithub-case-studies'), __('Conversion rate', 'siteaudithub-case-studies'), __('Average order value', 'siteaudithub-case-studies'), __('Organic sessions', 'siteaudithub-case-studies')], 'both'), $b('sahcs/gallery'), $s('conclusion', __('Conclusion', 'siteaudithub-case-studies'), __('The outcome in two or three sentences.', 'siteaudithub-case-studies')), ], $end), ], 'marketing' => [ 'label' => __('Marketing, SEO or ads agency', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $glance([__('Client', 'siteaudithub-case-studies'), __('Goal', 'siteaudithub-case-studies'), __('Strategy', 'siteaudithub-case-studies'), __('Result', 'siteaudithub-case-studies')]), $facts([__('Industry', 'siteaudithub-case-studies'), __('Channels', 'siteaudithub-case-studies'), __('Duration', 'siteaudithub-case-studies'), __('Market', 'siteaudithub-case-studies')]), $s('overview', __('Goals', 'siteaudithub-case-studies'), __('What did the client want to achieve, and by when?', 'siteaudithub-case-studies')), $s('approach', __('Strategy', 'siteaudithub-case-studies'), __('Channels, audiences, content and campaigns you used.', 'siteaudithub-case-studies')), sahcs_preset_results([__('Organic traffic', 'siteaudithub-case-studies'), __('Leads per month', 'siteaudithub-case-studies'), __('Cost per lead', 'siteaudithub-case-studies'), __('Return on ad spend', 'siteaudithub-case-studies')], 'both'), $s('conclusion', __('Key takeaways', 'siteaudithub-case-studies'), __('What made the difference?', 'siteaudithub-case-studies')), ], $end), ], 'property' => [ 'label' => __('Real estate, interior or construction', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $facts([__('Location', 'siteaudithub-case-studies'), __('Area', 'siteaudithub-case-studies'), __('Budget', 'siteaudithub-case-studies'), __('Timeline', 'siteaudithub-case-studies')]), $s('overview', __('The project', 'siteaudithub-case-studies'), __('The space, the client and what they wanted.', 'siteaudithub-case-studies')), $s('challenges', __('Challenges', 'siteaudithub-case-studies'), __('Site, budget or design constraints.', 'siteaudithub-case-studies')), $s('solutions', __('Design and execution', 'siteaudithub-case-studies'), __('Materials, layout and how the work was done.', 'siteaudithub-case-studies')), $b('sahcs/gallery', ['title' => __('Project photos', 'siteaudithub-case-studies'), 'layout' => 'masonry']), $s('conclusion', __('The result', 'siteaudithub-case-studies'), __('How the finished project looks and feels.', 'siteaudithub-case-studies')), ], $end), ], 'health' => [ 'label' => __('Healthcare, clinic or wellness', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $glance([__('Patient profile', 'siteaudithub-case-studies'), __('Concern', 'siteaudithub-case-studies'), __('Treatment', 'siteaudithub-case-studies'), __('Outcome', 'siteaudithub-case-studies')]), $s('overview', __('The concern', 'siteaudithub-case-studies'), __('Describe the case without personal details that could identify the patient.', 'siteaudithub-case-studies')), $s('solutions', __('Treatment approach', 'siteaudithub-case-studies'), __('The plan, the steps and the timeline.', 'siteaudithub-case-studies')), $s('conclusion', __('Outcome', 'siteaudithub-case-studies'), __('The result and the follow-up care.', 'siteaudithub-case-studies')), $b('sahcs/gallery', ['title' => __('Before and after', 'siteaudithub-case-studies')]), ], $end), ], 'education' => [ 'label' => __('Coaching, training or education', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $glance([__('Student', 'siteaudithub-case-studies'), __('Starting point', 'siteaudithub-case-studies'), __('Program', 'siteaudithub-case-studies'), __('Result', 'siteaudithub-case-studies')]), $s('overview', __('Where they started', 'siteaudithub-case-studies'), __('Background and goals of the student or team.', 'siteaudithub-case-studies')), $s('solutions', __('The program', 'siteaudithub-case-studies'), __('What they learned and how you coached them.', 'siteaudithub-case-studies')), sahcs_preset_results([__('Score', 'siteaudithub-case-studies'), __('Income', 'siteaudithub-case-studies'), __('Time to result', 'siteaudithub-case-studies')], 'cards'), ], $end), ], 'saas' => [ 'label' => __('SaaS or software customer story', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $glance([__('Company', 'siteaudithub-case-studies'), __('Pain point', 'siteaudithub-case-studies'), __('Solution', 'siteaudithub-case-studies'), __('Impact', 'siteaudithub-case-studies')]), $facts([__('Company size', 'siteaudithub-case-studies'), __('Industry', 'siteaudithub-case-studies'), __('Location', 'siteaudithub-case-studies'), __('Using since', 'siteaudithub-case-studies')]), $s('challenges', __('The problem', 'siteaudithub-case-studies'), __('What was not working before?', 'siteaudithub-case-studies')), $s('solutions', __('How they use the product', 'siteaudithub-case-studies'), __('Features, rollout and adoption.', 'siteaudithub-case-studies')), sahcs_preset_results([__('Hours saved per week', 'siteaudithub-case-studies'), __('Revenue', 'siteaudithub-case-studies'), __('Customer satisfaction', 'siteaudithub-case-studies')], 'cards'), ], $end), ], 'impact' => [ 'label' => __('NGO or social impact', 'siteaudithub-case-studies'), 'blocks' => array_merge([ $b('sahcs/hero'), $facts([__('Region', 'siteaudithub-case-studies'), __('Partners', 'siteaudithub-case-studies'), __('Duration', 'siteaudithub-case-studies'), __('People reached', 'siteaudithub-case-studies')]), $s('challenges', __('The problem', 'siteaudithub-case-studies'), __('The need in the community.', 'siteaudithub-case-studies')), $s('solutions', __('What we did', 'siteaudithub-case-studies'), __('The programme and how it was delivered.', 'siteaudithub-case-studies')), sahcs_preset_results([__('People reached', 'siteaudithub-case-studies'), __('Volunteers', 'siteaudithub-case-studies'), __('Funds raised', 'siteaudithub-case-studies')], 'cards'), $b('sahcs/gallery', ['title' => __('On the ground', 'siteaudithub-case-studies')]), $s('conclusion', __('Stories of change', 'siteaudithub-case-studies'), __('A short story from someone who benefited.', 'siteaudithub-case-studies')), ], $end), ], 'blank' => [ 'label' => __('Blank (only the hero)', 'siteaudithub-case-studies'), 'blocks' => [$b('sahcs/hero')], ], ]; foreach ($presets as $key => $p) { $presets[$key]['content'] = serialize_blocks($p['blocks']); unset($presets[$key]['blocks']); } return apply_filters('sahcs_industry_presets', $presets); }