feat: brand identity v1.0.0 — Direction C Trusted Guide (theme v2.0.0-alpha.1)
Implements weeks 1–4 of the CMO brand identity sprint. Complete theme reskin with: - CSS token system (brand.css) with Teal/Lime/Orange palette - Poppins/Inter/IBM Plex Mono font loading - Full favicon/PWA/OG asset pack - 5-state verdict badge + card + evidence row components - verdict_state post meta on pr_peptide CPT with meta box - Affiliate disclosure component (3 contexts: inline, banner, footer) - How we review peptides page template - About & Editorial Standards page template - Footer Our Method links + disclosure - SVG logo support (logo-horizontal.svg inline) - OG image fallback meta tag - Accessibility: role=img on badges, skip-to-content link, prefers-reduced-motion support Theme version bumped to 2.0.0-alpha.1.
This commit is contained in:
39
template-parts/verdict/badge.php
Normal file
39
template-parts/verdict/badge.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Verdict Badge Component
|
||||
*
|
||||
* Displays a verdict state badge with glyph, label, and colors.
|
||||
* Accepts $args['verdict_state'] and $args['show_label'].
|
||||
*
|
||||
* @package peptide-starter
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
$verdict_state = isset( $args['verdict_state'] ) ? sanitize_text_field( $args['verdict_state'] ) : '';
|
||||
$show_label = isset( $args['show_label'] ) ? (bool) $args['show_label'] : true;
|
||||
|
||||
// State configuration.
|
||||
$states = 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' ),
|
||||
);
|
||||
|
||||
// Early exit if invalid state.
|
||||
if ( ! isset( $states[ $verdict_state ] ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$state_info = $states[ $verdict_state ];
|
||||
?>
|
||||
<span class="pr-verdict pr-verdict--<?php echo esc_attr( $verdict_state ); ?>" role="img" aria-label="<?php echo esc_attr( 'Verdict: ' . $state_info['label'] ); ?>">
|
||||
<span class="pr-verdict__glyph" aria-hidden="true"><?php echo $state_info['glyph']; ?></span>
|
||||
<?php if ( $show_label ) : ?>
|
||||
<span class="pr-verdict__label"><?php echo esc_html( $state_info['label'] ); ?></span>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
Reference in New Issue
Block a user