The Read More tag in WordPress is one of those small features that has been quietly rebuilt three times and now exists in two parallel versions, depending on whether you write in the classic editor or the block editor. The result is that the answer to “how do I change the Read More tag?” depends on which editor you are in, what you mean by “change” (the cut-off point, the link text, or the link styling), and whether your theme even uses the tag at all.
This guide walks through the
<!--more-->
tag in the classic editor, the More block in Gutenberg, how to customize the link text per-post or globally, where the theme decides what the link looks like, and the difference between the More tag and the WordPress excerpt – which are often confused but do completely different things.
The short answer#
If you are using the block editor (Gutenberg): insert a More block at the spot where you want the post to cut off on archive pages. Click the block to set custom button text for that one post.
If you are using the classic editor: place your cursor where you want the cut-off and click the Insert Read More tag button in the toolbar (or paste
<!--more-->
directly into the HTML view). To change the text of the link, type the custom text inside the tag:
<!--more Continue reading...-->
.
To change the link text globally for every post, you edit your theme’s
index.php
or
home.php
template (or use a child theme) and modify the
the_content()
call’s
$more_link_text
argument. The tag itself only controls the cut-off point – the styling and final wording come from the theme.
If your archive page shows the entire post body instead of a Read More link, your theme is calling
the_content()
without honoring the More tag, or it is calling
the_excerpt()
instead. Those are two different paths and the More tag only affects the first one.
What the Read More tag actually does#
The Read More tag is a marker in the post body that tells WordPress: “show everything above this line on archive pages, hide everything below it, and put a link at the cut where the visitor can click through to the full post.” On the single post page, the tag is invisible – the full content displays as if the tag were not there.
Archive pages are the blog index, category archives, tag archives, author archives, and date archives. Anywhere WordPress lists multiple posts, the More tag controls how much of each post is visible in that list.
The tag is
<!--more-->
in the post HTML. WordPress saves it literally in the post’s
post_content
field in the database, then the theme’s template decides how to render it.
Adding the Read More block in the block editor#
The block editor replaces the classic
<!--more-->
HTML comment with a dedicated block. The block compiles down to the same
<!--more-->
marker on save, so the underlying behavior is identical – it is just a friendlier interface.
To insert it:
- Click the spot in your post where you want the cut-off.
- Click the + (block inserter) icon, or type
/moreand press Enter. - The block appears as a horizontal divider with the label “Read more”.
- Click the block to reveal its toolbar. The block has one option in the sidebar: a custom text field.
To change the link text for this one post: with the block selected, type your custom text directly into the block (“Keep reading”, “Read the full guide”, “Continue”). This sets the per-post override and saves with the post.
There is also a “Hide the excerpt on the full content page” toggle in the block sidebar. Leave this off in most cases – it only affects how the post displays when someone lands on the full single-post URL, not the archive cut-off.
Adding the Read More tag in the classic editor#
If your site still uses the classic editor (via the Classic Editor plugin or a theme that disables Gutenberg), the More tag is inserted differently:
Visual mode: Click the spot in your post where you want the cut. In the editor toolbar, click the Insert Read More tag button – it looks like two horizontal rectangles with a dashed line between them. A dashed line labeled “MORE” appears in the editor.
Text mode (HTML): Switch to the Text tab and type
<!--more-->
directly at the cut-off point.
To customize the link text for one post, type the custom text inside the tag, after the word
more
and a space:
Some intro text that shows on the archive page.
<!--more Read the full breakdown-->
The rest of the post content that gets hidden on archives.
The text “Read the full breakdown” replaces the default “Read more” on this post’s archive listing.
Changing the Read More text globally for the whole site#
The More tag itself only sets the cut-off point and an optional per-post link label. The default link text (“Read more” or “Continue reading”) is set by the theme template, not by the tag. To change it globally, you edit the theme.
The relevant function is
the_content()
. In the theme’s
index.php
,
home.php
,
archive.php
, or
category.php
template (whichever your archive page actually uses), you will find a line like:
the_content();
or
the_content( __( 'Continue reading', 'theme-textdomain' ) );
The first argument to
the_content()
is the default link text used when a post does not specify its own. Change it to whatever you want:
the_content( 'Read the full guide →' );
The
→
is the HTML entity for a right arrow. WordPress will render it as a clickable link to the full post, with your custom text.
Always do this in a child theme, not the parent theme. Edits to the parent theme are erased the next time the theme updates, and most modern themes update frequently.
If you are on a block theme and do not have a
home.php
or
index.php
in the traditional sense, the archive page is rendered by the Query Loop block in the Site Editor. The Read More text is controlled by the Read More block placed inside the Query Loop, not by a PHP file. Edit the Site Editor template, click the Read More block in the loop, and change its text in the sidebar – the same way you would set it inside an individual post.
Styling the Read More link with CSS#
The link that WordPress generates from the More tag uses the class
more-link
by default. To restyle it:
.more-link {
display: inline-block;
padding: 8px 16px;
background: #002447;
color: #ffffff;
border-radius: 4px;
text-decoration: none;
font-weight: 600;
}
.more-link:hover {
background: #ea580c;
}
Add this to your theme’s stylesheet (in a child theme) or to Appearance > Customize > Additional CSS. The class name has been stable across WordPress versions for over a decade, so it is safe to target.
In a block theme, the Read More block uses the class
wp-block-read-more
instead. Style both selectors if you support both editors:
.more-link,
.wp-block-read-more {
/* ... */
}
Read More tag vs the WordPress excerpt#
This is the source of most of the confusion. The Read More tag and the excerpt look similar from the outside – both create a “snippet plus link” experience on archive pages – but they are different systems and the theme picks one.
| Read More tag | Excerpt | |
|---|---|---|
| Where it lives | In the post body, at the cut-off | In a separate Excerpt field, or auto-generated from the first 55 words |
| What displays | Everything above the tag | A summary, separated from the body |
| Editor support |
<!--more-->
or More block | “Excerpt” panel in sidebar |
| Theme function |
the_content()
|
the_excerpt()
|
| Formatting | Preserves images, headings, links | Auto-stripped to plain text by default |
| Per-post control | Cut-off position + custom link text | Manual excerpt field overrides auto-generation |
If your theme calls
the_excerpt()
in its archive template, the More tag is ignored – WordPress generates its own short summary instead, and your
<!--more-->
marker has no effect. To find out which one your theme uses, open the relevant template file (
index.php
,
archive.php
) and look for the function call.
To switch a theme from
the_excerpt()
to
the_content()
, replace the call in a child theme’s template override. To go the other direction (use excerpts instead of the More tag), replace
the_content()
with
the_excerpt()
.
How to control WordPress excerpts goes deeper on the excerpt side specifically – manual excerpt overrides, the
excerpt_length
filter for changing the auto-summary length, and the
excerpt_more
filter for changing the “[…]” suffix – if you are deciding between the two systems for your theme.
Why your Read More tag is being ignored#
A few common reasons the cut-off is not happening on the archive page:
The theme calls
the_excerpt()
, not
the_content()
. Check
archive.php
,
index.php
, and
home.php
in your theme. If they all use
the_excerpt()
, the More tag is dead in those templates. Either change the theme call or write manual excerpts.
The tag is inside a block that swallows it. Some custom blocks and shortcodes wrap their content in a way that hides the
<!--more-->
marker from WordPress’s parser. Move the tag outside the wrapping block.
You added it to a page, not a post. Pages do not have archive listings. The More tag works only where archive pages exist – posts, custom post types with archive support enabled.
The tag is on a single-post-page-only template. If your archive page is rendered by a custom template that does not check for the tag, it will display the full post regardless. Common with page builders that take over the loop.
Browser cache or page cache. If you just added the tag and it is not showing on the archive, force-refresh and clear any caching layer. The archive HTML is often cached more aggressively than single posts.
Hostney’s WordPress hosting plans include the platform-level page cache and object cache layered above your site, so when you add a Read More tag and it does not appear on the front-end, clear the cache from the control panel after publishing – the change will not show until the cached archive HTML is invalidated.
Per-post tag, global default, theme styling - which to use when#
You usually want all three working together:
- Set a global default in your theme’s
the_content()call – this is the link text for every post by default (“Read more”, “Continue reading”, “Keep going”). - Override per-post with the More block’s custom text or
<!--more Custom text-->syntax for posts where the global default does not fit (an interview post might say “Read the full interview”, a tutorial might say “Get the steps”). - Style globally with
.more-linkand.wp-block-read-moreCSS so all variations match the rest of your design.
This combination gives you consistency where you want it and flexibility where the post benefits from a more specific call to action.
Summary#
The Read More tag controls the cut-off point on archive pages, not the styling or default text – those come from the theme. In Gutenberg you use the More block; in the classic editor you use the
<!--more-->
HTML comment. Custom link text can be set per-post inside the tag, or globally by editing the theme’s
the_content()
call. The tag is unrelated to the WordPress excerpt – they are two different systems and the theme picks one.
If your tag is being ignored on archives, the theme is likely calling
the_excerpt()
instead of
the_content()
, which means switching to excerpts is your only path – or override the template in a child theme. For broader post-listing setup, the add a blog to a WordPress site guide covers how the posts page and WordPress permalinks feed into archive structure, and setting the homepage determines whether your blog index is even the front page in the first place. For organizing the posts that show up in those archives, see adding and managing categories and working with revisions when you need to roll back a post body that included the wrong cut-off.