v2.1.0 fix — tabs, split verdict helpers, PHPCS clean

- Convert space indentation → tabs in front-page.php (PHPCS)
- Extract verdict taxonomy + config arrays → inc/verdict-helpers.php
- Wire verdict-helpers.php into functions.php
- front-page.php now 254 lines (was 309)
This commit is contained in:
peptiderepo
2026-04-26 04:26:59 +00:00
parent 4188bba014
commit 3942c6b29e
3 changed files with 97 additions and 45 deletions

View File

@@ -20,42 +20,8 @@
get_header();
/**
* Verdict taxonomy data for the homepage explainer strip.
* Canonical order matches CMO brief §5.1 and the 5-state enum in verdict-meta.php.
*/
$verdict_taxonomy = array(
array(
'state' => 'established',
'glyph' => '✓',
'label' => 'Established',
'description' => 'Strong RCT evidence; widely prescribed or validated.',
),
array(
'state' => 'promising',
'glyph' => '◐',
'label' => 'Promising',
'description' => 'Meaningful human data accumulating; not yet RCT-strong.',
),
array(
'state' => 'investigational',
'glyph' => '?',
'label' => 'Investigational',
'description' => 'Mechanism plausible; human trials sparse.',
),
array(
'state' => 'insufficient',
'glyph' => '⊘',
'label' => 'Insufficient Evidence',
'description' => 'Not enough data to say anything responsible.',
),
array(
'state' => 'cautionary',
'glyph' => '⚠',
'label' => 'Cautionary',
'description' => 'Active safety signals or misuse patterns.',
),
);
/** @see inc/verdict-helpers.php — peptide_starter_get_verdict_taxonomy() */
$verdict_taxonomy = peptide_starter_get_verdict_taxonomy();
/**
* Featured monograph post IDs. These are the three exemplar monographs
@@ -183,20 +149,15 @@ $featured_monograph_ids = array( 211, 36, 177 );
<?php esc_html_e( 'Real assessments from our database — see the system in action.', 'peptide-starter' ); ?>
</p>
<div class="hero-featured-verdicts__grid">
<?php foreach ( $featured_posts as $featured_post ) :
<?php
foreach ( $featured_posts as $featured_post ) :
$post_id = $featured_post->ID;
$verdict_state = get_post_meta( $post_id, 'verdict_state', true );
$verdict_text = get_post_meta( $post_id, 'verdict_text', true );
$post_url = get_permalink( $post_id );
// Verdict state config (mirrors badge.php logic).
$verdict_config = array(
'established' => array( 'glyph' => '✓', 'label' => 'Established' ),
'promising' => array( 'glyph' => '◐', 'label' => 'Promising' ),
'investigational'=> array( 'glyph' => '?', 'label' => 'Investigational' ),
'insufficient' => array( 'glyph' => '⊘', 'label' => 'Insufficient Evidence' ),
'cautionary' => array( 'glyph' => '⚠', 'label' => 'Cautionary' ),
);
// Verdict state config — @see inc/verdict-helpers.php
$verdict_config = peptide_starter_get_verdict_config();
$vc = isset( $verdict_config[ $verdict_state ] ) ? $verdict_config[ $verdict_state ] : null;
// Signal rows (up to 3).

View File

@@ -45,6 +45,7 @@ require_once PEPTIDE_STARTER_DIR . '/inc/newsletter-admin.php';
require_once PEPTIDE_STARTER_DIR . '/inc/mail-diagnostic.php';
require_once PEPTIDE_STARTER_DIR . '/inc/perf-asset-policy.php';
require_once PEPTIDE_STARTER_DIR . '/inc/verdict-meta.php';
require_once PEPTIDE_STARTER_DIR . '/inc/verdict-helpers.php';
/**
* Set up theme defaults and register support for WordPress features.

90
inc/verdict-helpers.php Normal file
View File

@@ -0,0 +1,90 @@
<?php
/**
* Verdict helper functions for homepage and template parts.
*
* What: Provides data arrays for the 5-state verdict taxonomy used in the
* homepage explainer strip and featured verdict cards.
* Who triggers: Required by functions.php on every page load.
* Depends on: Nothing — pure data functions, no WP dependencies.
*
* @see inc/verdict-meta.php — verdict CPT meta registration
* @see template-parts/verdict/ — badge, card, evidence-row components
* @see front-page.php — homepage verdict sections
*
* @package peptide-starter
*/
/**
* Returns the verdict taxonomy data array for the homepage explainer strip.
*
* Canonical order matches CMO brief §5.1 and the 5-state enum in verdict-meta.php.
*
* @return array[] Each element: state (string), glyph (string), label (string), description (string).
*/
function peptide_starter_get_verdict_taxonomy() {
return array(
array(
'state' => 'established',
'glyph' => '✓',
'label' => 'Established',
'description' => 'Strong RCT evidence; widely prescribed or validated.',
),
array(
'state' => 'promising',
'glyph' => '◐',
'label' => 'Promising',
'description' => 'Meaningful human data accumulating; not yet RCT-strong.',
),
array(
'state' => 'investigational',
'glyph' => '?',
'label' => 'Investigational',
'description' => 'Mechanism plausible; human trials sparse.',
),
array(
'state' => 'insufficient',
'glyph' => '⊘',
'label' => 'Insufficient Evidence',
'description' => 'Not enough data to say anything responsible.',
),
array(
'state' => 'cautionary',
'glyph' => '⚠',
'label' => 'Cautionary',
'description' => 'Active safety signals or misuse patterns.',
),
);
}
/**
* Returns the verdict state config map (glyph + label per state slug).
*
* Used by featured verdict cards on the homepage and any template that needs
* to render a verdict badge from a state string without loading the full card.
*
* @return array Keyed by state slug. Each value: array{ glyph: string, label: string }.
*/
function peptide_starter_get_verdict_config() {
return array(
'established' => array(
'glyph' => '✓',
'label' => 'Established',
),
'promising' => array(
'glyph' => '◐',
'label' => 'Promising',
),
'investigational' => array(
'glyph' => '?',
'label' => 'Investigational',
),
'insufficient' => array(
'glyph' => '⊘',
'label' => 'Insufficient Evidence',
),
'cautionary' => array(
'glyph' => '⚠',
'label' => 'Cautionary',
),
);
}