Core vs. Custom

A detailed comparison between our core and custom themes.

At a glance

CoreCustomAdded by Custom
Patterns14019656
Thereof elements (Inserter: false)10199
Pattern categories77
Templates8157
Template parts352
Style variations5127
Block variations11
Function files52722
JavaScript modules1414
Compiled stylesheets55
SVG icons1616
Placeholder media1313

Patterns

196 patterns — 140 from Core, 56 added by Custom. The Figma column says whether the pattern has a counterpart in the Figma library.

FilenameCoreCustomFigmaDescription
accordion-1-static.phpAccordion (static)
accordions-1-static.phpAccordions 1 (static)
accordions-2-static.phpAccordions 2 (static)
archive-grid-dynamic.phpArchive grid (dynamic)
archive-intro-no-image-text-left-dynamic.phpArchive Intro (dynamic)
back-to-top.phpBack to top
breadcrumbs-1-dynamic.phpBreadcrumbs (dynamic)
coming-soon.phpComing Soon (WooCommerce)
comment-dynamic.phpComment (dynamic)
comment-form-dynamic.phpComment Form (dynamic)
comments-one-column-dynamic.phpComments one column (dynamic)
comments-two-columns-dynamic.phpComments two columns (dynamic)
contact-form-static.phpContact Form (static)
contact-form-two-columns-static.phpContact Form two columns (static)
contact-info-static.phpContact Info (static)
contact-information-image-static.phpContact Information with Image (static)
contact-information-map-static.phpContact Information with Map (static)
contact-opening-times-static.phpContact Opening Times (static)
contact-person-dynamic.phpContact Person (dynamic)
contact-person-static.phpContact Person (static)
cta-boxed-text-centered-static.phpCTA boxed text centered (static)
cta-boxed-text-left-static.phpCTA boxed text left (static)
cta-centered-static.phpCTA centered (static)
cta-left-static.phpCTA left (static)
cv-static.phpCV (static)
donation-form-dynamic.phpDonation Form (dynamic)
downloads-static.phpDownloads (static)
error-404-intro-static.phpError 404 Intro (static)
event-intro-dynamic.phpEvent Intro (dynamic)
event-teaser-static.phpEvents Teaser (static)
event-teasers-static.phpEvents Teasers (static)
fact-static.phpFact (static)
facts-2x2-grid-right-static.phpFacts 2×2 grid right (static)
facts-big-image-static.phpFacts big image (static)
facts-grid-counting-up-static.phpFacts grid (counting up)
facts-grid-static.phpFacts grid (static)
facts-slider-static.phpFacts Slider (static)
featured-content-3-columns-circles-static.phpFeatured Content 3 columns circles (static)
featured-content-cover-box-bottom-static.phpFeatured Content cover box bottom (static)
featured-content-cover-box-left-static.phpFeatured Content cover box left (static)
featured-content-cover-box-right-static.phpFeatured Content cover box right (static)
featured-content-gallery-text-bottom-center-static.phpFeatured Content gallery text bottom center (static)
featured-content-gallery-text-bottom-right-static.phpFeatured Content gallery text bottom right (static)
featured-content-grid-images-left-static.phpFeatured Content grid images left (static)
featured-content-image-left-static.phpFeatured Content image left (static)
featured-content-image-right-static.phpFeatured Content image right (static)
featured-content-image-top-title-left-static.phpFeatured Content | image top title left (static)
filter-for-terms-static.phpFilter for Terms (static)
footer-1-dynamic.phpFooter 1 (dynamic)
footer-2-dynamic.phpFooter 2 (dynamic)
footer-3-dynamic.phpFooter 3 (dynamic)
footer-4-dynamic.phpFooter 4 (dynamic)
footer-5-dynamic.phpFooter 5 (dynamic)
gallery-1-left-2-right-static.phpGallery 1 left 2 right (static)
gallery-bento-static.phpGallery Bento Grid (static)
gallery-seamless-static.phpGallery seamless (static)
gallery-static.phpGallery (static)
glossary-static.phpGlossary (static)
header-1-dynamic.phpHeader 1
header-2-dynamic.phpHeader 2
header-3-dynamic.phpHeader 3
header-4-dynamic.phpHeader 4
header-5-dynamic.phpHeader 5
header-6-dynamic.phpHeader 6
header-6-woo-dynamic.phpHeader 6 Woo
header-checkout-dynamic.phpHeader Checkout
header-fse-1-dynamic.phpHeader FSE 1
header-fse-2-dynamic.phpHeader FSE 2
header-fse-3-dynamic.phpHeader FSE 3
home-intro-no-image-text-left-dynamic.phpHome Intro (dynamic)
interview-static.phpInterview (static)
job-teaser-static.phpJob Teaser (static)
job-teasers-static.phpJob Teasers (static)
landingpage-intro-cta-static.phpLandingpage Intro CTA (static)
logos-grid-static.phpLogos grid (static)
logos-inline-static.phpLogos inline (static)
mini-cart-contents.phpMini Cart Contents (WooCommerce)
navigation-overlay-1-dynamic.phpNavigation Overlay
newsletter-subscription-dynamic.phpNewsletter Subscription (dynamic)
order-confirmation.phpOrder Confirmation (WooCommerce)
page-intro-image-cover-text-center-dynamic.phpPage Intro image cover | text center (dynamic)
page-intro-image-cover-text-center-static.phpPage Intro image cover | text center (static)
page-intro-image-cover-text-left-dynamic.phpPage Intro image cover | text left (dynamic)
page-intro-image-cover-text-left-static.phpPage Intro image cover | text left (static)
page-intro-image-cover-textbox-left-dynamic.phpPage Intro image cover | textbox left (dynamic)
page-intro-image-cover-textbox-left-static.phpPage Intro image cover | Textbox left (static)
page-intro-image-cover-textbox-right-dynamic.phpPage Intro image cover | textbox right (dynamic)
page-intro-image-cover-textbox-right-static.phpPage Intro image cover | textbox right (static)
page-intro-image-left-text-right-dynamic.phpPage Intro image left | text right (dynamic)
page-intro-image-left-text-right-static.phpPage Intro image left | text right (static)
page-intro-image-middle-bottom-text-center-dynamic.phpPage Intro image middle bottom | text center (dynamic)
page-intro-image-middle-bottom-text-center-static.phpPage Intro image middle bottom | text center (static)
page-intro-image-middle-bottom-text-left-dynamic.phpPage Intro image middle bottom | text left (dynamic)
page-intro-image-middle-bottom-text-left-static.phpPage Intro image middle bottom | text left (static)
page-intro-image-middle-fullwidth-text-center-dynamic.phpPage Intro image middle fullwidth | text center (dynamic)
page-intro-image-middle-fullwidth-text-center-static.phpPage Intro image middle fullwidth | text center (static)
page-intro-image-middle-text-center-dynamic.phpPage Intro image middle | text center (dynamic)
page-intro-image-middle-text-center-static.phpPage Intro image middle | text center (static)
page-intro-image-right-text-left-dynamic.phpPage Intro image right | text left (dynamic)
page-intro-image-right-text-left-static.phpPage Intro image right | text left (static)
page-intro-image-seamless-left-text-right-dynamic.phpPage Intro image seamless left | text right (dynamic)
page-intro-image-seamless-left-text-right-static.phpPage Intro image seamless left | text right (static)
page-intro-image-seamless-right-text-left-dynamic.phpPage Intro image seamless right | text left (dynamic)
page-intro-image-seamless-right-text-left-static.phpPage Intro image seamless right | text left (static)
page-intro-image-top-fullwidth-text-center-dynamic.phpPage Intro image top fullwidth | text center (dynamic)
page-intro-image-top-fullwidth-text-center-static.phpPage Intro image top fullwidth | text center (static)
page-intro-image-top-fullwidth-text-left-dynamic.phpPage Intro image top fullwidth | text left (dynamic)
page-intro-image-top-fullwidth-text-left-static.phpPage Intro image top fullwidth | text left (static)
page-intro-image-top-fullwidth-textbox-overlap-left-dynamic.phpPage Intro Image Top Fullwidth | Textbox Overlap Left (dynamic)
page-intro-image-top-fullwidth-textbox-overlap-left-static.phpPage Intro Image Top Fullwidth | Textbox Overlap Left (static)
page-intro-no-image-text-center-dynamic.phpPage Intro no image | text center (dynamic)
page-intro-no-image-text-center-static.phpPage Intro no image | text center (static)
page-intro-no-image-text-left-dynamic.phpPage Intro no image | text left (dynamic)
page-intro-no-image-text-left-static.phpPage Intro no image | text left (static)
page-teaser-dynamic.phpPage Teaser (dynamic)
page-teaser-static.phpPage Teaser (static)
page-teasers-child-pages-dynamic.phpChild Pages (dynamic)
page-teasers-dynamic.phpPage Teasers (dynamic)
page-teasers-sibling-pages-dynamic.phpSibling Pages (dynamic)
page-teasers-static.phpPage Teasers (static)
person-dynamic.phpPerson (dynamic)
person-intro-image-left-text-right-dynamic.phpPerson Intro image left | text right (dynamic)
person-intro-image-right-text-left-dynamic.phpPerson Intro image right | text left (dynamic)
person-static.phpPerson (static)
persons-dynamic.phpPersons grid (dynamic)
persons-slider-static.phpPersons slider (static)
persons-static.phpPersons grid (static)
post-author-dynamic.phpPost Author (dynamic)
post-intro-image-cover-text-center-dynamic.phpPost Intro image cover | text center (dynamic)
post-intro-image-cover-text-left-dynamic.phpPost Intro image cover | text left (dynamic)
post-intro-image-cover-textbox-left-dynamic.phpPost Intro image cover | textbox left (dynamic)
post-intro-image-cover-textbox-right-dynamic.phpPost Intro image cover | textbox right (dynamic)
post-intro-image-left-text-right-dynamic.phpPost Intro image left | text right (dynamic)
post-intro-image-middle-bottom-text-center-dynamic.phpPost Intro image middle bottom | text center (dynamic)
post-intro-image-middle-bottom-text-left-dynamic.phpPost Intro image middle bottom | text left (dynamic)
post-intro-image-middle-fullwidth-text-center-dynamic.phpPost Intro image middle fullwidth | text center (dynamic)
post-intro-image-middle-text-center-dynamic.phpPost Intro image middle | text center (dynamic)
post-intro-image-right-text-left-dynamic.phpPost Intro image right | text left (dynamic)
post-intro-image-seamless-left-text-right-dynamic.phpPost Intro image seamless left | text right (dynamic)
post-intro-image-seamless-right-text-left-dynamic.phpPost Intro image seamless right | text left (dynamic)
post-intro-image-top-fullwidth-text-center-dynamic.phpPost Intro image top fullwidth | text center (dynamic)
post-intro-image-top-fullwidth-text-left-dynamic.phpPost Intro image top fullwidth | text left (dynamic)
post-intro-image-top-fullwidth-textbox-overlap-left-dynamic.phpPost Intro Image Top Fullwidth | Textbox Overlap Left (dynamic)
post-intro-no-image-text-center-dynamic.phpPost Intro no image | text center (dynamic)
post-intro-no-image-text-left-dynamic.phpPost Intro no image | text left (dynamic)
post-prev-next-dynamic.phpPost Prev/Next (dynamic)
post-teaser-dynamic.phpPost Teaser (dynamic)
post-teaser-featured-dynamic.phpPost Teaser Featured (dynamic)
post-teasers-dynamic.phpPost Teasers (dynamic)
post-teasers-featured-dynamic.phpPost Teasers Featured (dynamic)
post-teasers-latest-posts-dynamic.phpLatest Posts (dynamic)
post-teasers-related-posts-dynamic.phpRelated Posts (dynamic)
pricing-static.phpPricing (static)
process-bar-static.phpProcess Bar (static)
process-cards-3-columns-static.phpProcess Cards 3 Columns (static)
process-timeline-center-static.phpProcess timeline center (static)
process-timeline-left-static.phpProcess timeline left (static)
process-timestamp-static.phpProcess timestamp (static)
product-details-1-dynamic.phpProduct Details 1 (dynamic)
product-intro-1-dynamic.phpProduct Intro 1 (dynamic)
product-pagination.phpProduct Pagination
product-teaser-dynamic.phpProduct Teaser (dynamic)
product-teaser-single-product-dynamic.phpProduct Teaser Single Product (dynamic)
product-teasers-archive-dynamic.phpProduct Teasers Archive (dynamic)
product-teasers-best-sellers-dynamic.phpProduct Teasers Best Sellers (dynamic)
product-teasers-by-brand-dynamic.phpProduct Teasers by Brand (dynamic)
product-teasers-by-category-dynamic.phpProduct Teasers by Category (dynamic)
product-teasers-by-tag-dynamic.phpProduct Teasers by Tag (dynamic)
product-teasers-cross-selling-dynamic.phpProduct Teasers Cross-Selling (dynamic)
product-teasers-hand-picked-dynamic.phpProduct Teasers Hand-Picked (dynamic)
product-teasers-highlighted-dynamic.phpProduct Teasers Highlighted (dynamic)
product-teasers-new-arrivals-dynamic.phpProduct Teasers New Arrivals (dynamic)
product-teasers-on-sale-dynamic.phpProduct Teasers On Sale (dynamic)
product-teasers-related-dynamic.phpProduct Teasers Related Products (dynamic)
product-teasers-top-rated-dynamic.phpProduct Teasers Top Rated (dynamic)
product-teasers-up-selling-dynamic.phpProduct Teasers Up-Selling (dynamic)
quicklinks-static.phpQuicklinks (static)
rich-text-2-columns-static.phpRich Text 2 columns (static)
rich-text-2-image-columns-static.phpRich Text 2 image columns (static)
rich-text-center-static.phpRich Text center (static)
rich-text-left-static.phpRich Text left (static)
rich-text-sidebar-right-static.phpRich Text sidebar right (static)
rich-text-toc-left-static.phpRich Text TOC left (static)
search-intro-dynamic.phpSearch Intro (dynamic)
search-result-dynamic.phpSearch result (dynamic)
search-results-dynamic.phpSearch results (dynamic)
share-print-static.phpShare & Print (static)
skiplinks.phpSkiplinks
tabs-1-static.phpTabs 1 (static)
tabs-2-static.phpTabs 2 (static)
testimonial-static.phpTestimonial (static)
testimonials-slider-static.phpTestimonials Slider (static)
testimonials-static.phpTestimonials (static)
topics-2-dynamic.phpTopics 2 (dynamic)
topics-dynamic.phpTopics (dynamic)
video-static.phpVideo (static)

Templates

FilenameCoreCustomDescription
404.html404 error page
archive-product.htmlWooCommerce product archive
archive.htmlArchive listing (posts, categories, etc.)
coming-soon.htmlComing soon page (WooCommerce)
front-page.htmlFront page
home.htmlBlog post listing
index.htmlFallback template
order-confirmation.htmlWooCommerce order confirmation
page-cart.htmlWooCommerce cart
page-checkout.htmlWooCommerce checkout
page.htmlSingle page
product-search-results.htmlWooCommerce product search results
search.htmlSearch results
single-product.htmlWooCommerce single product
single.htmlSingle post

Template Parts

FilenameCoreCustomDescription
checkout-header.htmlCheckout header (header-checkout-dynamic)
footer.htmlFooter (renders footer-1-dynamic)
header.htmlHeader incl. skiplinks (renders header-fse-1-dynamic)
mini-cart.htmlWooCommerce mini cart
navigation-overlay.htmlNavigation overlay for mobile view

Styles (Style Variations)

FilenameCoreCustomTypeDescription
box-1.jsonBlock styleBox style: white
box-2.jsonBlock styleBox style: light grey
colors/00-full.jsonTheme style variationFull global theme style variation
colors/01-reduced.jsonTheme style variationReduced theme style variation
colors/02-minimal.jsonTheme style variationMinimal theme style variation
infobox-styles.jsonBlock styleInfobox block styles
list-styles-checkmark.jsonBlock styleList style: checkmark bullet
list-styles-contra.jsonBlock styleList style: contra bullet
list-styles-pro.jsonBlock styleList style: pro bullet
section-1.jsonBlock styleSection style: white
section-2.jsonBlock styleSection style: light grey
topic.jsonBlock styleTopic component style

Block Variations

FilenameCoreCustomDescription
related-posts.phpBlock Variation: Related Posts (core/query)

Functions

Core loads its function files via glob(); Custom loads Core first and then its own files in an explicit order.

FilenameCoreCustomDescription
functions.phpInclude all functions from directory functions/
add-pattern-categories.phpRegister custom pattern categories
load-textdomain.phpLoad theme textdomain for internationalization
render-copyright-comment.phpRenders a copyright HTML comment with ASCII art in the document head
setup-logo.phpRegister custom logo support
accessibility.phpModify external links in rendered blocks
add-menu-highlighting.phpAdd menu highlighting class for current page indicators
appicons.phpDisable the default WordPress site icon
back-to-top.phpInject back-to-top button before closing body tag
comments.phpPrivacy checkbox in the comment form (the comment-disabling hooks are commented out)
dashboard.phpAdd custom post types to the “At a Glance” dashboard widget
editor.phpRemove all default WordPress-patterns
load-icons.phpRegister the theme’s SVG icons with WordPress and inject the sprite into the footer
load-scripts.phpManage and optimize script loading
load-styles.phpManage and optimize stylesheet loading
localize-vars.phpScript localization for JavaScript strings
login.phpCustomize WordPress login screen
media.phpSet JPEG upload quality to 100%
modify-accordion-icon.phpModify accordion toggle icon
post-excerpt.phpDisable auto-generated excerpts for pages if no manual excerpt is set
post-type-page.phpAdd post type support for pages
remove-default-skip-link.phpRemove default block editor skip link
rest-api.phpRestrict access to specific WP REST API endpoints
security.phpDisable XML-RPC completely
setup.phpPlaceholder — contains only the ABSPATH guard
utilities.phpUtility functions (phone number formatting)
woocommerce.phpAdd WooCommerce support

JavaScript

Core ships no JavaScript at all. Custom bundles 14 modules into assets/js/scripts-bundle.min.js; index.js is appended last.

FilenameCoreCustomDescription
_accordion.jsAccordion: hidden-until-found
_back-to-top.jsBack To Top
_count-up.jsCount-up animation
_filter-for-terms.jsStatic Filter
_footer-navigation.jsResponsive behaviour for multiple footer navigation menus
_header.jsSticky header, mobile toggle and scroll behaviour
_overlay.jsOverlay navigation incl. submenus and search toggle
_share-print.jsShare and Print Functions
_swiper.jsInclude Swiper JS
_tabs.jsTabs: deep link to the open tab
_target.jsSmooth-scrolls any :target element into view
_toc.jsTOC
_utilities.jsHelper functions
index.jsEntry point — initializes all modules on DOM ready

Stylesheets

Core carries no stylesheet of its own — all styling comes from theme.json. Custom compiles these entry points; the partials they import are build internals.

SourceOutputCoreCustomDescription
critical.scssassets/css/critical.min.cssAbove-the-fold CSS, inlined in the document head
editor.scssassets/css/editor.min.cssBlock editor styles
login.scssassets/css/login.min.cssLogin screen styles
print.scssassets/css/print.min.cssPrint styles
style.scssassets/css/style.min.cssMain stylesheet

Icons

16 SVG files compiled into one sprite at assets/icons.svg, where the filename is the symbol ID.

IconCoreCustom
back
check
close
collapse
download
expand
external-link
forward
language
login
logout
menu
negative
positive
search
share

Assets

Asset groupCoreCustomFilesDescription
Placeholder media13Placeholder images, logos, person and video used by the patterns
App icons7Favicon, Apple Touch Icon, PWA icons and web manifest
Swiper (vendor)2Slider library, bundled locally — no CDN dependency
FontsPrepared directory — the theme ships with system fonts
ImagesPrepared directory for theme images, optimized by the build
ACF field groupsPrepared sync directory for Advanced Custom Fields

Languages

The only place where Custom replaces Core instead of adding to it: both tiers use the same 4 filenames, so the custom files win in the merged build. Core carries 178 translatable strings, Custom 295.

FilenameCoreCustomDescription
de_DE.l10n.phpGerman translation, PHP cache format (WordPress 6.5+)
de_DE.moGerman translation, compiled binary
de_DE.poGerman translation, editable source
kb.potTranslation template — every translatable string in the theme

theme.json

Core holds the complete token system. The custom file is deep-merged on top at build time — objects override, arrays are replaced wholesale.

KeyCoreCustomWhat Custom changes
styles.blocks.core/button:active, :hover, border, css, variations
styles.blocks.core/listcss
styles.blocks.core/filecss
styles.blocks.core/query-paginationcss
styles.blocks.woocommerce/product-imageborder
settings.spacing.unitsarray replaced wholesale — 13 entries instead of 5

Back to top