Theme reference
AOFCU Classic Styleguide
Live reference for every reusable section, design token, and dynamic-content marker in the theme. When asking Claude to build a page, use the names and arg keys below — no HTML/CSS dictation needed.
Colors
Refer to colors by slug. CSS variable is var(--wp--preset--color--<slug>). Tailwind-like utility classes also exist: .has-<slug>-background-color and .has-<slug>-color.
var(--wp--preset--color--primary)
var(--wp--preset--color--primary-dark)
var(--wp--preset--color--primary-light)
var(--wp--preset--color--loans-green)
var(--wp--preset--color--gold)
var(--wp--preset--color--orange)
var(--wp--preset--color--dark)
var(--wp--preset--color--body-text)
var(--wp--preset--color--border)
var(--wp--preset--color--white)
Spacing
Use as var(--wp--preset--spacing--<slug>). Slugs are size-ordered.
Typography
Display = DM Sans (variable, opsz 9-40). Body = Inter. Sizes available as var(--wp--preset--font-size--<slug>).
Eyebrow / disclaimer copy
Small body / nav links
Default body
Lede / card title
Section h3
Section h2
Page title
Hero h1
Buttons
All buttons are pills (border-radius: 50px). The brand button is filled purple; secondaries are outlines.
// Primary (filled brand purple) <div class="wp-block-button"> <a class="wp-block-button__link has-primary-background-color has-background wp-element-button" style="border-radius:50px" href="…">Become a Member</a> </div> // Outline (transparent + 2px border) <div class="wp-block-button is-style-outline"> <a class="wp-block-button__link wp-element-button" …>Apply Now</a> </div> // Text link (underlined header style) <a class="header-become-member" href="…">Learn More</a>
Page themes
Body class is set automatically from the page slug — see aofcu_classic_page_theme_body_class() in functions.php.
Each theme overrides the --wp--preset--color--primary / primary-dark / primary-light custom properties at the <body> level, so every component that uses those tokens picks up the theme automatically.
Blue — accounts
checking, savings, certificates, money market, web banking, zelle#2E5EA1
Green — borrowing
vehicle, personal, signature, share-secured, home-equity, credit cards#2E7D32
Purple — info
membership, staff, board, locations, contact, forms (default)#5B2D8E
Section parts
Static patterns you compose into a page by writing HTML around the listed wrapper class. The class name is the part name.
hero-banner Homepage hero
Full-bleed cover image with a white card overlaying the right side. Mobile stacks the card on top of the image.
<div class="wp-block-group scallop-top"> <div class="wp-block-cover hero-banner has-primary-light-background-color has-background" style="min-height:360px;border-radius:12px"> <img class="wp-block-cover__image-background" src="…hero.jpg" style="object-position:27% 12%" /> <div class="wp-block-cover__inner-container"> <div class="wp-block-columns are-vertically-aligned-center"> <div class="wp-block-column" style="flex-basis:55%"></div> <div class="wp-block-column" style="flex-basis:45%"> <div class="wp-block-group has-white-background-color"> <h2>Headline</h2><p>…</p><a class="wp-block-button__link">CTA</a> </div> </div> </div> </div> </div> </div>
product-hero Product / loan page hero
Top-of-page banded hero with eyebrow, title, intro, and a button pair. Full-bleed image as a background.
Loan Products
Vehicle Loans
Get behind the wheel with competitive rates on new and used vehicles, motorcycles, boats, and RVs. Flexible terms designed to fit your budget.
<div class="wp-block-group product-hero has-background" style="background-image:url('….jpg');background-size:cover;padding:var(--wp--preset--spacing--70) var(--wp--preset--spacing--40)"> <p class="has-primary-color has-text-color" style="font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase">Loan Products</p> <h1>Vehicle Loans</h1> <p class="product-hero__lede">Get behind the wheel…</p> <div class="wp-block-buttons">…</div> </div>
page-header Compact info-page header
Small banded header with eyebrow + h1 + optional intro. Used on info pages (membership, staff, board, locations).
About Us
Meet Our Team
The people behind Affinity One Federal Credit Union are dedicated to helping you reach your financial goals.
<header class="page-header" style="background:var(--wp--preset--color--primary);padding:var(--wp--preset--spacing--70) var(--wp--preset--spacing--40)"> <p>EYEBROW</p><h1>Meet Our Team</h1><p>Optional intro.</p> </header>
product-cards Four-up linked cards
Available accents: .card-accent-purple, .card-accent-blue, .card-accent-teal.
Share Checking
Free checking with no monthly fees.
Primary Savings
Start building your savings with dividends.
Certificates
Lock in great rates for a fixed term.
Money Market
Higher dividends with check-writing access.
features-grid 1 + 3 + 3 feature grid
One wide feature on top (image + copy, 55/45 columns), then two rows of three smaller cards. Used for Membership Benefits.
Membership Benefits
What you get the moment your name is on the share account.
People who know your name
We're not a call center. When you walk into a branch or pick up the phone, you're talking to people who live in town and remember the conversation you had last week. That's a different kind of banking — and it's the part you can't put on a rate sheet.
Share savings with dividends
Open with $25 to establish your membership. Every balance earns dividends, compounded monthly.
Free checking, no minimums
No monthly fee, no minimum balance, no hoops. Banking the way it should be.
Free Visa debit card
Tap, swipe, or dip anywhere Visa is accepted. Surcharge-free CO-OP ATMs nationwide.
Low-rate loans across the board
Vehicles, personal needs, home equity, share-secured — our member-owned model means rates that beat the typical bank.
Online & mobile banking + Bill Pay
Manage accounts from your phone or laptop. Schedule bill payments, deposit checks, monitor swipes — all free.
Federally insured to $250,000
Your deposits are insured by the NCUA — the same federal protection as a bank, with the credit-union perks layered on.
<div class="wp-block-group features-grid"> <h2>Membership Benefits</h2> <p>Optional intro paragraph.</p> // Row 1 — large feature with image <div class="wp-block-group feature-card feature-card-large"> <div class="wp-block-columns are-vertically-aligned-center"> <div class="wp-block-column" style="flex-basis:55%"> <h3>Headline</h3><p>…</p> </div> <div class="wp-block-column" style="flex-basis:45%"> <figure class="wp-block-image"><img …></figure> </div> </div> </div> // Rows 2 + 3 — three feature cards each <div class="wp-block-columns"> <div class="wp-block-column"> <div class="wp-block-group feature-card is-vertical"> <h3>…</h3><p>…</p> </div> </div> // …two more wp-block-column siblings… </div> </div>
numbered-steps Numbered process
Three or four numbered steps with a dashed connector between. For onboarding flows.
Open an account
A $25 deposit gets you membership.
Set up Web Banking
Manage everything online or in the app.
Take advantage
Lower-rate loans, free checking, and more.
cta-become-member Full-width close-out CTA
Use at the bottom of product / info pages.
Ready to join?
Become a Member Today
framed-cta Mid-page emphasis card
Bordered light card on a soft background. CSS forces dark headline + grey body so colour overrides don't apply — pair it with light backgrounds.
Why a credit union?
Banking Is Broken. Affinity One Won't Leave You In Pieces.
As a member-owned cooperative, every decision we make puts your financial well-being first.
<div class="wp-block-group framed-cta" style="background:#fff;border:1px solid var(--wp--preset--color--border);border-radius:12px;padding:2.5rem"> <p class="has-primary-color has-text-color" style="font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase">Eyebrow</p> <h2>Headline copy here.</h2> // CSS forces dark color + clamp(1.5rem, 3vw, 2rem) <p>Intro paragraph.</p> // CSS forces body-text color + 1rem <div class="wp-block-buttons">…</div> </div>
Dynamic sections
Each is loaded with get_template_part('template-parts/sections/<name>', null, [...]). In page content, write the equivalent [aofcu_<name>] marker — the the_content filter in inc/page-sections.php swaps it for the rendered output.
testimonials-slider Member quotes Swiper
Reads from the Testimonials CPT. Wrap in a purple group for the homepage treatment.
// In page content: [aofcu_testimonials_slider per_page="12"] // In a PHP template: get_template_part('template-parts/sections/testimonials-slider', null, [ 'per_page' => 12, // default ]);
rates-slider Compact rate-tile Swiper
Use on the homepage to surface a few rates without a full table.
// In page content: [aofcu_rates_slider type="" per_page="10"] // In a PHP template: get_template_part('template-parts/sections/rates-slider', null, [ 'type' => '', // rate_type slug, '' = all 'per_page' => 10, ]);
rates-table Term / Rate (/ APY) table
Two variants — plain (Term / Rate) and with-APY (Term / Rate / APY).
// In page content: [aofcu_rates_table type="new-vehicle"] [aofcu_rates_table type="certificate" with_apy="true"] // In a PHP template: get_template_part('template-parts/sections/rates-table', null, [ 'type' => 'new-vehicle', // required, rate_type slug 'first_col' => 'term', // 'term' | 'type' | 'balance' 'with_apy' => false, // adds APY column 'per_page' => -1, // all matching rates ]);
staff-grid Team portraits
[aofcu_staff_grid columns="3" per_page="100" offset="0" feed="leadership"] get_template_part('template-parts/sections/staff-grid', null, [ 'columns' => 3, // 1-4 'per_page' => 100, 'offset' => 0, // skip N — e.g. leadership=first 3, rest=offset 3 'feed' => 'leadership', // content_feed slug(s), comma-separated; blank = all ]);
board-grid Board members
-
Timothy Adam
President -
Walter “Bob” Morris
Vice-President -
John Manno
Secretary/Treasurer
[aofcu_board_grid columns="3"] get_template_part('template-parts/sections/board-grid', null, [ 'columns' => 3, 'per_page' => 100, 'offset' => 0, ]);
locations-grid Branch cards
-
Jamestown Branch
545 E. Second St
Jamestown, NY 14701Phone: (716) 483-2798Fax: (716) 483-6136Hours- Monday: 8:30 AM – 4:00 PM
- Tuesday: 8:30 AM – 4:00 PM
- Wednesday: 8:30 AM – 4:00 PM
- Thursday: 8:30 AM – 5:00 PM
- Friday: 8:30 AM – 5:00 PM
- Saturday: Closed
- Sunday: Closed
-
Lakewood Branch
10 Sessions Ave
Lakewood, NY 14750Phone: (716) 483-2265Fax: (716) 483-2266Hours- Monday: 8:30 AM – 4:00 PM
- Tuesday: 8:30 AM – 4:00 PM
- Wednesday: 8:30 AM – 4:00 PM
- Thursday: 8:30 AM – 5:00 PM
- Friday: 8:30 AM – 5:00 PM
- Saturday: 9:00 AM – 12:00 PM (DRIVE THRU ONLY)
- Sunday: Closed
ATM Available 24/7 · Night Drop Access 24/7
[aofcu_locations_grid] get_template_part('template-parts/sections/locations-grid', null, [ 'columns' => 2, // 1-4, default 2 'per_page' => 100, ]);
latest-news Recent posts grid
-
Community
We’re Proud to Sponsor the Blue Jays
Affinity One FCU is proud to sponsor the Blue Jays, a local Babe Ruth League team, this season.
-
Community
Kids Carnival Night with the Jamestown Tarp Skunks
Affinity One FCU is proud to sponsor Kids Carnival Night at the Jamestown Tarp Skunks game on Saturday, June 13,…
-
Promotions
12 Month CD Special — 3.00% APY
Earn 3.00% APY on a 12-month share certificate. Minimum deposit of $5,000.
[aofcu_latest_news per_page="3" category=""] get_template_part('template-parts/sections/latest-news', null, [ 'per_page' => 3, 'category' => '', // category slug to filter by ]);
Page recipes
Existing page templates you can reference as a starting point.
| Template | File | Sections (in order) |
|---|---|---|
| Homepage | front-page.php |
hero-banner → rates-slider → product-cards → features-grid (Membership Benefits) → testimonials-slider → framed-cta (Banking Is Broken) → digital-banking → latest-news → security |
| Product page | (page.php + post content) | product-hero → rates-table (one or more) → feature-cards → cta-become-member |
| Info page | (page.php + post content) | page-header → prose / numbered-steps / membership-eligibility → dynamic grid (staff-grid / board-grid / locations-grid) → cta-become-member |
| Single post | single.php |
featured image (unless toggled off) → title + meta → the_content |
| Archive / Blog | archive.php, index.php |
archive title → loop of post cards (thumb + title + excerpt) → pagination |
| Styleguide | page-styleguide.php |
This page |
Example asks
Phrasing that will get you exactly what you want.