Dive into the Ipsum WordPress theme, and learn how to prolong it

by | Nov 5, 2026 | Etcetera | 0 comments

With WordPress 7.2 launching in December, a brand spanking new default theme is on the method. Marking a departure from customized, it drops the usual calendar-year naming scheme in need of a additional vital name.

Dubbed Ipsum, this new addition is a minimalist, lightweight, and modular block theme built for Complete Website online Enhancing (FSE) and strictly aligned with stylish Block Editor necessities.

For the reason that name suggests, Ipsum streamlines the working a weblog experience and works out of the sector the moment you get began writing. Its design is simple in every part, from refined dotted underlines to the bundled typography and a curated set of genre permutations, occupied with accessibility and readability.

Don’t let its minimalist nature fool you, although. Ipsum provides the most efficient blank canvas to ship your ingenious vision as a blogger to lifestyles. Let’s dive into the most recent default theme and uncover learn to get one of the crucial out of it the use of native WordPress choices.

Table of Contents

Ipsum: A minimalist theme with accessibility in ideas

Ipsum features a minimalist design with a strong focus on readability.

Preview of a single post built with the Ipsum theme.
Preview of a single publish built with the Ipsum theme.

The new default theme defines six sun shades of gray with high-contrast combos alongside a single accent color. The default background (#fcfcfc) and body text (#000000bf) achieve a distinction ratio (CR) of 10.26:1, merely earning a WCAG AAA rating.

Headings, quote, and table blocks in the Ipsum theme.
Headings, quote, and table blocks throughout the Ipsum theme.

Ipsum is helping native WordPress keyboard navigation, displaying a “Skip to content material subject matter” link on every internet web page. This allows consumers navigating with the Tab key to jump in an instant to the principle content material subject matter and not using a want to cycle via header navigation links.

Skip to content link in the Ipsum theme.
Skip to content material subject matter link throughout the Ipsum theme.

The theme moreover highlights focused links with its accent color, letting keyboard consumers briefly identify the energetic part.

An accordion heading highlighted during keyboard navigation.
An accordion heading highlighted throughout keyboard navigation.

Typography plays an important serve as in making Ipsum easy on the eyes, offering 5 preset font sizes and supporting fluid typography.

A preview of Ipsum font families in WordPress 7.2.
A preview of Ipsum font families in WordPress 7.2.

Links are outstanding most efficient by the use of a gentle dotted underline. While aligned with the theme’s minimalist aesthetic, this may in all probability make them hard to spot depending on the internet web page’s color prerequisites.

That mentioned, links keep easy to identify throughout keyboard navigation because of the accent-colored focus outline.

Links clearly highlighted during keyboard navigation in the Ipsum theme.
Links clearly highlighted throughout keyboard navigation throughout the Ipsum theme.

Now, let’s take a greater check out Ipsum’s explicit choices.

Templates and patterns

Ipsum includes a built-in set of templates that delegate internet web page layouts to internal patterns. For instance, that is the markup of the internet web page.html template:

This single line of code calls the hidden development hidden-page.php, which controls the structure and gadgets the desired metadata:

/**
 * Establish: Pages
 * Slug: ipsum/hidden-page
 * Template Sorts: internet web page
 * Inserter: no
 *
 * @package deal deal Ipsum
 * @since Ipsum 1.0
 */

The theme registers custom designed template variants, similar to index-sidebar and archive-sidebar, instantly by way of PHP so you are able to select them throughout the Site Editor.

A page using the Pages template in the Ipsum theme.
You are able to set the internet web page template throughout the publish editor.

As of now, roughly 60 patterns are available to help you assemble and construction your content material subject matter.

See also  Using Prison IP for Cyber Risk Searching
Browsing patterns in the Site Editor.
Browsing patterns throughout the Site Editor.

While a couple of of those patterns are reserved (hidden) for the theme’s core templates, the majority are utterly available as a way to use for your pages.

Dynamic content material subject matter with the Block Bindings API

A fascinating technical part for developers is how patterns implement the Block Bindings API. For example, the archive-full.php development uses bindings as follows:


The underlying binding provide is registered throughout the theme’s functions.php document:

if ( ! function_exists( 'ipsum_comments_cta_binding' ) ) :
	/**
	 * Returns the comments identify to movement for the prevailing publish.
	 *
	 * @since Ipsum 1.0
	 * @param array    $source_args    Block binding provide arguments.
	 * @param WP_Block $block_instance The block instance.
	 * @return string The verdict to movement text.
	 */
	function ipsum_comments_cta_binding( $source_args, $block_instance ) {
		$post_id = $block_instance->context['postId'] ?? get_the_ID();

		if ( get_comments_number( $post_id ) > 0 ) {
			$text = __( 'Join the conversation', 'ipsum' );
		} else {
			$text = __( 'Be the principle to observation', 'ipsum' );
		}

		return '' . esc_html( $textual content ) . '';
	}
endif;

if ( ! function_exists( 'ipsum_register_block_bindings' ) ) :
	/**
	 * Registers the comments call-to-action block binding provide.
	 *
	 * @since Ipsum 1.0
	 * @return void
	 */
	function ipsum_register_block_bindings() {
		register_block_bindings_source(
			'ipsum/comments-cta',
			array(
				'label'              => __( 'Comments identify to movement', 'ipsum' ),
				'get_value_callback' => 'ipsum_comments_cta_binding',
				'uses_context'       => array( 'postId' ),
			)
		);
	}
endif;
add_action( 'init', 'ipsum_register_block_bindings' );

In brief, the ipsum/comments-cta binding provide dynamically returns each “Join the conversation” or “Be the principle to observation”, depending on whether or not or now not the prevailing publish already has comments.

Fluid typography and typography presets

Ipsum’s theme.json registers a handful of font families provided as variable fonts in .woff2 construction. The ones quilt sans-serif (Manrope, Inter, Archivo, Archivo Condensed), serif (Besley, STIX Two Text), and monospace (JetBrains Mono), with Inter serving for the reason that default body typeface.

Ipsum uses JetBrains Mono to style code.
Ipsum uses JetBrains Mono to style code.

Fonts are hosted locally, getting rid of third-party dependencies like Google Fonts and giving web page homeowners additional control over font loading.

The theme.json defines every fixed and fluid font sizes, routinely remodeled into dynamic CSS clamp() purposes:

"fontSizes": [
	...
	{
		"fluid": {
			"max": "1.75rem",
			"min": "1.5rem"
		},
		"name": "X-Large",
		"size": "1.75rem",
		"slug": "x-large"
	},
	{
		"fluid": {
			"max": "2.1875rem",
			"min": "1.625rem"
		},
		"name": "2X-Large",
		"size": "2.1875rem",
		"slug": "2-x-large"
	}
],

Ipsum moreover accommodates 5 typography presets you are able to select instantly from the Site Editor’s Global Types panel.

Every preset overrides the fontFamilies array to modify typeface combos without affecting the web page’s energetic color scheme.

Ipsum Typography presets in the Site Editor.
Ipsum Typography presets throughout the Site Editor.

Style variations

7 International Taste permutations provide different combos of color palette, default duotone filter, and typography.

A screenshot of Ipsum theme's Global Styles panel.
Ipsum Global Types panel throughout the WordPress Site Editor.

To see how a method variation is printed, the code underneath registers the Golden Hour variation. It defines the Peach on maroon duotone filter, introduces a brand spanking new color palette, and gadgets the Manrope font family for the web page’s normal typography.

{
	"$schema": "https://schemas.wp.org/trunk/theme.json",
	"fashion": 3,
	"establish": "Golden Hour",
	"settings": {
		"color": {
			"duotone": [
				{
					"colors": [
						"#7a1000",
						"#ffd9bd"
					],
					"name": "Peach on maroon",
					"slug": "duotone-1"
				}
			],
			"palette": [
				{
					"color": "#7a1000",
					"name": "Color 1",
					"slug": "theme-1"
				},
				{
					"color": "#ffd9bd",
					"name": "Color 2",
					"slug": "theme-2"
				},
				{
					"color": "#ff8c52",
					"name": "Color 3",
					"slug": "theme-3"
				},
				{
					"color": "#ffd9bd40",
					"name": "Color 4",
					"slug": "theme-4"
				},
				{
					"color": "#ffd9bd1a",
					"name": "Color 5",
					"slug": "theme-5"
				},
				{
					"color": "#fff1e8",
					"name": "Color 6",
					"slug": "theme-6"
				}
			]
		},
		"custom designed": {
			"controlScheme": "dark"
		}
	},
	"sorts": {
		"blocks": {
			"core/post-featured-image": {
				"filter": duotone
			}
		},
		"parts": {
			"heading": {
				"typography": {
					"fontFamily": "var(--wp--preset--font-family--manrope)",
					"fontStyle": "normal",
					"fontWeight": "500"
				}
			}
		},
		"typography": {
			"fontFamily": "var(--wp--preset--font-family--manrope)",
			"fontStyle": "normal",
			"fontWeight": "400"
		}
	}
}

The remaining global style variations follow the equivalent development with different combos of colors and font families.

Block style variations

Ipsum moreover accommodates style variations for a handful of blocks. A couple of of those variations are registered by way of JSON information stored throughout the theme’s sorts/blocks/ list. Other variations are registered throughout the functions document.

You are able to view and customize block style variations throughout the Site Editor’s Global Types panel underneath the Blocks & Portions phase.

A screenshot of Paragraph block style variations in the Site Editor.
Paragraph block style variations throughout the Site Editor’s Global Types panel.

Variations are available throughout the Block Settings sidebar during the Publish Editor as a way to apply them to explicit individual blocks with a single click on on.

A screenshot of block style variations in the post editor.
Applying block style variations from the block settings sidebar.

Customizing Ipsum with a child theme

One of the vital most straightforward techniques to extend a WordPress theme is to create a little one theme. Inside the following example, you’ll learn how to do it by the use of introducing an asymmetrical Bento grid archive structure on best of Ipsum.

The ones are the steps to look at:

Step 1: Organize the child theme

First, create a brand spanking new folder for your baby theme underneath wp-content/matter issues/, and name it ipsum-child or equivalent. Inside of this folder, add two information: style.css and functions.php.

The style.css document incorporates the metadata that WordPress uses to identify and organize the theme. Get began by the use of together with the following code:

/*
Theme Establish: Ipsum Child
Theme URI: https://example.com/
Description: A custom designed baby theme for the Ipsum default theme 
Author: Your Establish
Author URI: https://example.com
Template: ipsum
Type: 1.0.0
Text House: ipsum-child
License: GNU Standard Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

Ipsum uses get_stylesheet_directory_uri() to test within the theme stylesheet in functions.php. When a child theme is energetic, this function problems to the child theme list, so WordPress skips loading the daddy or mom stylesheet.

See also  Get a FREE Chocolatier Format Pack for Divi

In Ipsum’s explicit case, to keep away from dropping the daddy or mom theme’s styling, you need to enqueue it accurately inside your baby theme’s functions document.

That mentioned, add the following code to your baby theme’s functions document:

get( 'Type' )
		);

		wp_enqueue_style(
			'ipsum-child-style',
			get_stylesheet_uri(),
			array( 'ipsum-style' ),
			wp_get_theme()->get( 'Type' )
		);
	}
endif;
add_action( 'wp_enqueue_scripts', 'ipsum_child_styles', 20 );

The code snippet above re-registers the ipsum-style deal with the use of get_template_directory_uri() to restore the daddy or mom stylesheet. Then, it enqueues the child stylesheet correct after it.

With the child theme configured, the next move is construction the Bento grid archive development.

Step 2: Create the Bento archive development

To turn an archive formatted as a Bento grid, we can reuse code already available throughout the father or mom theme.

For the fashion’s development, we can use a few Ipsum built-in patterns:

  • archive-photographic.php for the grid query.
  • archive-columns.php for the establish, date, no results message, and pagination.
  • hidden-archive.php for the template wrapper structure.

Inside of your baby theme list, create the patterns/ and templates/ folders and add the following information:

  • patterns/archive-bento.php
  • patterns/hidden-archive-bento.php
  • templates/archive.html

Your baby theme development will have to now look like this:

ipsum-child/
├── style.css
├── functions.php
├── patterns/
│   ├── archive-bento.php
│   └── hidden-archive-bento.php
└── templates/
    └── archive.html

Next, replica the code from the daddy or mom theme’s hidden-archive.php development and paste it into your baby theme’s hidden-archive-bento.php. Then change the header metadata, text space, and development slug identify as follows:





Essentially, we adapted the daddy or mom’s hidden-archive.php development to our ipsum-child/hidden-archive-bento development.

Step 3: Create the Bento development

Now we need to assemble the real Bento development inside patterns/archive-bento.php. Proper right here over again, we can leverage code already available in Ipsum.

Below is the whole code for the archive-bento.php development, annotated with the root of every code snippet:






Inside the code above, we reused and recombined the built-in construction blocks provided by the use of Ipsum.

Listed below are the principle changes:

  • Query block: Inside the Query Loop, we up-to-the-minute the perPage parameter to 10. This is the most important for the Bento grid’s visual rendering, for the reason that CSS laws in the next move objective a repeating 10-item cycle (10n) and dynamically repeat an alternating sequence of enormous, in depth, tall, and compact taking part in playing cards.
  • Publish Template block: We added the custom designed CSS elegance bento-grid to concentrate on the grid by way of CSS and apply the asymmetrical structure.
  • Personnel block: The Personnel block uses a vertical flex structure, while the CSS gadgets every card to fill its grid house and allows the featured image to amplify during the available space.
  • Text House: All strings were up-to-the-minute to use the ipsum-child text space.
See also  How you can Craft a Emblem Manifesto [Guide + 10 Examples]

With the ones changes, the fashion’s block development is entire. Now we merely need to define the CSS properties that can shape its visual structure.

Step 4: Assemble the Bento stylesheet

Open the child theme’s style.css document and paste the following code:

.bento-grid {
	grid-auto-flow: dense;
	grid-auto-rows: minmax(18rem, auto);
}

.bento-grid > li:nth-child(10n + 1) {
	grid-column: span 2;
	grid-row: span 2;
}

.bento-grid > li:nth-child(10n + 6) {
	grid-column: span 2;
}

.bento-grid > li:nth-child(10n + 7),
.bento-grid > li:nth-child(10n + 8) {
	grid-row: span 2;
}

.bento-grid > li > .wp-block-group {
	best: 100%;
}

.bento-grid .wp-block-post-featured-image {
	position: relative;
	flex: 1 1 0;
	min-height: 8rem;
	margin: 0;
}

.bento-grid .wp-block-post-featured-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	best: 100%;
	object-fit: quilt;
}

@media (max-width: 781px) {
	.bento-grid.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bento-grid > li:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
	}

	.bento-grid > li:nth-child(10n + 1),
	.bento-grid > li:nth-child(10n + 6) {
		grid-column: span 2;
	}
}

@media (max-width: 480px) {
	.bento-grid.is-layout-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.bento-grid > li:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
	}
}

Here is a breakdown of this stylesheet:

  • grid-auto-flow: dense: Permits dense packing in CSS Grid. Every grid row has a minimum best of 18rem.
  • .bento-grid > li:nth-child(10n + 1): The grid development targets a 10-post cycle (10n). The principle products throughout the loop (10n + 1) becomes the principle hero card, spanning 2 columns and 2 rows.
  • li:nth-child(10n + 6): The sixth publish spans two columns. The seventh and eighth posts every span two rows.
  • .wp-block-post-featured-image img: The featured image is located totally inside a zero-basis flex wrapper (flex: 1 1 0) with object-fit: quilt. This promises the image adapts cleanly to the grid row.

The media queries redefine the grid’s column depend for smaller displays.

Step 5: Signal within the custom designed template

Next, open templates/archive.html and add the following code:

The templates/archive.html document name follows the standard WordPress template hierarchy and overrides the daddy or mom theme’s default archive template when now not extra explicit template takes precedence.

If you want to replace the index internet web page structure as well, simply replica the equivalent code proper right into a templates/index.html document.

The code inside simply calls the hidden-archive-bento wrapper development, keeping up the template development clean and modular.

It’s time for testing. Upload your baby theme and activate it. Then soar over into the next phase.

The result

Your templates are in truth able to use during your web page’s archives. You are able to moreover add the Bento development to static pages, atmosphere inherit to false and configuring the desired query parameters, if sought after.

The Archive Bento Grid pattern in the WordPress 7.2 Site Editor.
The Archive Bento Grid development throughout the WordPress 7.2 Site Editor.

As mentioned, to make use of the equivalent structure to the web page’s index internet web page, you’ll moreover need to create a templates/index.html document with the equivalent development reference.

The overall image presentations the home internet web page of our staging website online that features a delightful Bento Grid structure.

The home page is using a custom Bento-style template.
The home internet web page is the use of a custom designed Bento-style template.

A gentle-weight and available theme

Ipsum brings together stylish WordPress enhancing choices, reusable patterns, and flexible styling possible choices in a deliberately minimal design. Once you understand how its patterns and templates fit together, you are able to extend the theme well beyond its default working a weblog layouts. The Bento Grid featured in this data is just one example of what you are able to assemble with a child theme on best of Ipsum.

If tempo and serve as are your best priorities, keep in mind that code is most efficient section the equation. Fast internet websites moreover depend on caching, optimizations, web page configuration, and webhosting infrastructure. Check out our plans and to find the one that very most nearly fits your web page’s needs.

The publish Dive into the Ipsum WordPress theme, and learn how to prolong it gave the impression first on Kinsta®.

WP Hosting

[ continue ]

WordPress Maintenance Plans | WordPress Hosting

read more

0 Comments

Submit a Comment

DON'T LET YOUR WEBSITE GET DESTROYED BY HACKERS!

Get your FREE copy of our Cyber Security for WordPress® whitepaper.

You'll also get exclusive access to discounts that are only found at the bottom of our WP CyberSec whitepaper.

You have Successfully Subscribed!