fix: CMO walkthrough P1 fixes — verdict_text, per-row glyphs, conditional disclosure, dark mode (v2.0.0-alpha.3)

P1.1: verdict_text meta field + card.php wiring
- Register verdict_text (textarea, show_in_rest) on peptide CPT
- card.php reads verdict_text meta; falls back to placeholder if empty
- Hardcoded generic placeholder no longer the default for published posts
- All 3 monographs populated with CMO-authored verdict text

P1.2: per-row glyph meta fields
- Register signal_row_1/2/3_glyph (enum: ✓|!|?|⊘|⚠, show_in_rest)
- card.php reads per-row glyph from meta instead of hardcoding by position
- Missing glyph renders nothing (not a wrong glyph)
- Semaglutide: ✓✓! | BPC-157: ✓!? | Melanotan-II: !!⚠

P1.3: conditional inline disclosure
- Register has_partner_link (boolean, default false, show_in_rest)
- single-peptide.php only renders inline disclosure when has_partner_link=true
- All 3 loaded monographs set to has_partner_link=false
- Footer disclosure unaffected (always renders)

N.1: dark mode toggle hidden
- header.php: toggle button hidden (display:none + aria-hidden)
- Dark-mode verdict colors not validated for v1; re-enable in v1.1

Meta box updated with textarea, glyph dropdowns, and partner-link checkbox.
This commit is contained in:
peptiderepo
2026-04-26 02:12:35 +00:00
parent 2fe536208b
commit 7b5f992a2a
7 changed files with 223 additions and 63 deletions

View File

@@ -103,11 +103,13 @@ get_header();
</div>
<?php
// Affiliate disclosure (inline) renders directly after the content
// box, which is where partner/buy links live. Per the editorial
// disclosure spec, the strip must appear below, not above, any
// partner link the reader just encountered.
if ( ! empty( $verdict_state ) ) {
// Inline disclosure renders after the content box (below any partner
// links in the_content). Conditional on has_partner_link meta — if no
// partner link exists on this monograph, the disclosure is suppressed.
// Default false: new monographs are disclosure-off until a partner is
// added and the meta is explicitly set to true by the CMO.
$has_partner_link = (bool) get_post_meta( get_the_ID(), 'has_partner_link', true );
if ( $verdict_state && $has_partner_link ) {
get_template_part(
'template-parts/affiliate-disclosure',
null,