Modify the Read More in WordPress
Last modified: July 23, 2026
The “Read More” link shows up on your blog archive pages, category pages, and homepage blog loops. It is the small piece of text that sits at the end of a post preview, inviting visitors to click through and read the full article. By default, WordPress outputs plain text that just says “Read More” and for many sites, that is fine. But for others, it is a missed opportunity.
Customizing this link lets you match your brand’s tone, add a clearer call to action, or turn a plain text link into a styled button. A product review site might use “Read the Full Review.” A news blog might prefer “Continue Reading.” A recipe site might go with “Get the Full Recipe.” The possibilities are as varied as the sites using WordPress.
There are several ways to change the Read More link in WordPress, depending on whether you want to modify a single post or apply a change across your entire site. This guide covers the most reliable methods: using the Block Editor (Gutenberg), using the Classic Editor, editing your theme’s functions.php file with a PHP filter, using a plugin, and setting up the Read More link in Full Site Editing (FSE) block themes. It also includes a section on styling the link as a button with CSS, plus fixes for common problems.
Some methods affect only the post you are editing. Others apply sitewide. The right choice depends on what you are trying to accomplish. If you just want a different label on one specific post, the editor methods are quickest. If you want every Read More link on your site to say the same thing and look consistent, the PHP approach is the way to go.
Before you start, it helps to understand where the Read More link actually comes from. It is generated either by the <!--more--> quicktag you insert in post content, or automatically when WordPress crops post content to create an excerpt. Both cases produce a “Read More” link and both can be customized, though they use different filters, as covered in Method 3 below.
The Inline Custom Text Method (Often Missed)
Most WordPress tutorials focus on the Block Editor’s “Read More” field or the PHP filter. What they skip is a simpler option: you can put the custom text directly inside the <!--more--> comment tag itself. WordPress reads any text between more and --> as the link label.
In the Classic Editor’s Text tab, write it like this:
<!--more Read the Full Review-->
Whatever text you write after more becomes the link label for that post only. This is a per-post override that requires no PHP and no plugin. The downside is that it only works in the Classic Editor text view, and you have to add it manually to each post where you want a custom label. For sitewide changes, Method 3 (PHP filter) is still the better approach.
Block Themes and Full Site Editing
If you are using a block theme (Twenty Twenty-Four, Kadence, GeneratePress 2.0, Astra, or any theme that relies on Full Site Editing), the Read More link works differently. Block themes use the Query Loop block to display archive-style post lists, and the excerpt/read more behavior is controlled from inside that block.
To customize the Read More text in a block theme:
- Go to Appearance > Editor to open the Site Editor.
- Open the template that displays your blog index or archive (usually the “Index” or “Archive” template).
- Click on the Query Loop block to select it, then click into the Post Template block inside it.
- Find the Read More block. If it is not there, click the + button inside the Post Template and search for “Read More” to add it.
- With the Read More block selected, look at the block settings panel on the right. You will see a Link text field where you can type your custom label, such as “Read Full Article” or “Continue Reading”.
- Click Save to apply the change to the template.
This approach updates every post listing that uses this template, with no PHP required. Note that the PHP filters described in Method 3 (the_content_more_link and excerpt_more) do not affect block themes. Block themes bypass the classic PHP template system entirely, so the only way to change the Read More text in them is through the Site Editor as described above.
Common Read More Problems and Fixes
If your Read More link is not appearing, appearing twice, or showing the wrong text after you’ve made changes, one of these is usually the cause:
- Read More link not showing at all. Check whether your theme template uses
the_excerpt()orthe_content(). If your theme callsthe_excerpt(), it generates an automatic excerpt and always adds its own Read More link. The<!--more-->quicktag has no effect with this function — it only works when the theme callsthe_content(). Switching tothe_content()in the template, or using the PHP filter forexcerpt_moreinstead, is the fix. - Read More showing twice. This usually happens when both the
<!--more-->tag in the content and theexcerpt_morefilter are both adding a link. Check your functions.php for duplicate filters, and make sure your theme template is only using one of the two functions. - Changes not appearing after editing functions.php. If you edited a parent theme’s functions.php, your changes may be overwritten on theme update. Always use a child theme’s functions.php, or add the filter via a site-specific plugin.
- PHP filter not working on a block theme. Block themes do not run
the_content_more_linkorexcerpt_morefilters. Use the Site Editor’s Read More block instead, as described in the block theme section above.
* This button will show the rest of the post and open up an offer from a vendor
What Is the Read More Link in WordPress?
The Read More link appears on archive-style pages in WordPress: blog index pages, category archives, tag archives, and any page that uses The Loop to display multiple posts. It shows up at the bottom of each post preview, pointing to the full post. WordPress generates it either when you insert the <!--more--> quicktag inside a post, or when WordPress automatically trims post content to a set excerpt length.
These two scenarios are slightly different. When you use the <!--more--> quicktag, WordPress shows everything before the tag as the preview and everything after it as the full content. When using auto-excerpts (set in Settings > Reading or generated by the theme), WordPress pulls the first N words and adds a Read More link. In both cases, the output link text defaults to “Read More” but that is just a default value, not a hard requirement. Every part of it, including the text, the HTML markup, and the CSS class, can be changed.
Method 1 – Change the Text in the Block Editor
If you are using the Gutenberg block editor, the easiest way to add a custom Read More tag to a post is with the More block. To insert it, open the block inserter (the + icon), search for “More”, and click it to add it at the current cursor position. This inserts the <!--more--> tag in the post content.
Once the More block is in place, you will see the placeholder text “Read more…” displayed in the editor. Click directly on that text and type your custom label. WordPress will write the custom text into the <!--more--> tag, so it saves as something like <!--more Continue Reading-->. This change only affects the individual post you are editing. Every other post on the site keeps the default Read More text unless you change them individually or use one of the sitewide methods below.
Method 2 – Change the Text in Classic Editor
In the Classic Editor, adding a Read More tag works differently. Position your cursor in the post content at the point where you want the preview to end, then click the “Insert Read More Tag” button in the editor toolbar (it looks like a dashed line with a rectangle). This inserts <!--more--> at that point in the content.
To add custom text to the tag, switch to the Text tab in the Classic Editor (not the Visual tab). You will see the raw HTML of your post. Find the <!--more--> tag and edit it manually to include your custom label, like this: <!--more Read the Full Review-->. WordPress reads the text after “more” and uses it as the link text for that specific post. Just like the Gutenberg method, this only affects the single post you are editing.
Method 3 – Customize Read More Globally via PHP
For a sitewide change, the most reliable method is adding a PHP filter to your theme’s functions.php file. There are actually two different filters for this, and which one you need depends on how your theme generates post excerpts.
The the_content_more_link filter applies when the Read More link comes from a <!--more--> tag you inserted in a post. It fires when WordPress encounters that tag in the content and replaces the default link text:
function scanwp_modify_more_link( $more_link, $more_link_text ) {
return str_replace( $more_link_text, 'Read the Full Article', $more_link );
}
add_filter( 'the_content_more_link', 'scanwp_modify_more_link', 10, 2 );
The excerpt_more filter applies when the Read More link is auto-generated by WordPress trimming post content to create a short excerpt. This is the filter to use when your theme calls the_excerpt() instead of the_content():
function scanwp_custom_excerpt_more( $more ) {
return '… Read the Full Article';
}
add_filter( 'excerpt_more', 'scanwp_custom_excerpt_more' );
If you are not sure which one applies to your theme, add both. They target different code paths and will not conflict with each other. If your theme calls the_excerpt(), only the excerpt_more filter will fire. If it calls the_content() with a more tag, only the_content_more_link will fire.
Add either (or both) of these to your child theme’s functions.php, or paste them into a site-specific plugin.
Method 4 – Use a WordPress Plugin
If you would rather not touch PHP, there are plugins in the WordPress.org repository that let you customize the Read More link and excerpt settings from the WordPress admin. Search for plugins that deal with excerpt management or Read More customization. The best ones give you a settings field where you type in your preferred link text, and they handle the PHP filter behind the scenes.
This approach works well if you are managing a site for a client who is not comfortable with code, or if you want a quick change without the risk of editing theme files. The trade-off is adding another plugin to your site. For something as small as changing a text string, many developers prefer the functions.php method: it is two lines of code and has no ongoing maintenance overhead. But for non-technical users, a plugin is a perfectly valid option.
Style the Read More Button with CSS
Once you have changed the Read More text using the PHP method, you can take it further and style it as a button. The PHP snippet from Method 3 adds a class called read-more-link to the anchor tag, which gives you a clean CSS target. Add the following CSS to your child theme’s style.css file, or paste it into Appearance > Customize > Additional CSS:
.read-more-link {
display: inline-block;
background-color: #0073aa;
color: #fff;
padding: 8px 18px;
border-radius: 4px;
text-decoration: none;
font-size: 14px;
}
.read-more-link:hover {
background-color: #005177;
color: #fff;
}
Adjust the colors, padding, and font size to match your theme. The display: inline-block rule is important: it allows padding to apply correctly to an inline element like an anchor tag. The hover state gives a visual response when visitors mouse over the button, which improves the overall feel of the interaction. If your theme already styles .read-more-link or a similar class, check for conflicts and adjust specificity as needed.
If Your Change Is Not Showing
A few things can hide an otherwise correct change. If you run a caching plugin or a server cache, clear it after editing functions.php or your CSS, because the old markup is often still being served. If you use a block (full-site editing) theme, the post previews on archive pages are usually built with the Query Loop block rather than the classic the_content_more_link output, so you change the Read More text by selecting that block in the Site Editor instead of adding a PHP filter. And if the text changed but the button styling did not, check the page source to confirm the anchor actually carries the read-more-link class, since a theme that outputs its own excerpt markup may use a different class name.
Customizing the Read More link in WordPress is straightforward once you know which method to use. The Block Editor and Classic Editor approaches are best when you want a unique label on a specific post: a product review calling out “Read the Full Review,” for example. The PHP filter method via functions.php is the right choice when you want a consistent label across every post on the site, and it also gives you the class hook you need to style the link with CSS.
For most sites, the PHP approach is the one worth using. It is two lines of code, it requires no plugin, and once it is in place you never have to think about it again. Pair it with a few lines of CSS and you can turn a plain text link into a styled button that fits your site’s design. If you are managing the site for someone who is not comfortable with code, a plugin that handles this from the admin interface is a reasonable alternative.
Small UX details like this add up. A Read More link that matches your site’s voice feels more intentional than the default text, and a styled button stands out more clearly in a list of post previews. Neither change takes long to implement, and the result is a slightly more polished experience for every visitor who browses your archive pages.

Website Maintenance – Use Promocode: scanwp
Advanced JetPlugins for Elementor
Semrush 14 days trial
Kinsta – Managed WordPress Hosting
Bluehost Hosting