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:
@@ -20,42 +20,8 @@
|
|||||||
|
|
||||||
get_header();
|
get_header();
|
||||||
|
|
||||||
/**
|
/** @see inc/verdict-helpers.php — peptide_starter_get_verdict_taxonomy() */
|
||||||
* Verdict taxonomy data for the homepage explainer strip.
|
$verdict_taxonomy = peptide_starter_get_verdict_taxonomy();
|
||||||
* 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.',
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Featured monograph post IDs. These are the three exemplar monographs
|
* 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' ); ?>
|
<?php esc_html_e( 'Real assessments from our database — see the system in action.', 'peptide-starter' ); ?>
|
||||||
</p>
|
</p>
|
||||||
<div class="hero-featured-verdicts__grid">
|
<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;
|
$post_id = $featured_post->ID;
|
||||||
$verdict_state = get_post_meta( $post_id, 'verdict_state', true );
|
$verdict_state = get_post_meta( $post_id, 'verdict_state', true );
|
||||||
$verdict_text = get_post_meta( $post_id, 'verdict_text', true );
|
$verdict_text = get_post_meta( $post_id, 'verdict_text', true );
|
||||||
$post_url = get_permalink( $post_id );
|
$post_url = get_permalink( $post_id );
|
||||||
|
|
||||||
// Verdict state config (mirrors badge.php logic).
|
// Verdict state config — @see inc/verdict-helpers.php
|
||||||
$verdict_config = array(
|
$verdict_config = peptide_starter_get_verdict_config();
|
||||||
'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' ),
|
|
||||||
);
|
|
||||||
$vc = isset( $verdict_config[ $verdict_state ] ) ? $verdict_config[ $verdict_state ] : null;
|
$vc = isset( $verdict_config[ $verdict_state ] ) ? $verdict_config[ $verdict_state ] : null;
|
||||||
|
|
||||||
// Signal rows (up to 3).
|
// Signal rows (up to 3).
|
||||||
|
|||||||
@@ -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/mail-diagnostic.php';
|
||||||
require_once PEPTIDE_STARTER_DIR . '/inc/perf-asset-policy.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-meta.php';
|
||||||
|
require_once PEPTIDE_STARTER_DIR . '/inc/verdict-helpers.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set up theme defaults and register support for WordPress features.
|
* Set up theme defaults and register support for WordPress features.
|
||||||
|
|||||||
90
inc/verdict-helpers.php
Normal file
90
inc/verdict-helpers.php
Normal 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',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user