Where intelligence is put to the test.

Using the “More” Tag on WordPress Pages

John Crenshaw in wordpress

Oct 16

Some of you may notice I’ve recently added a “blog” section to this site in addition to the existing “tutorials” section. Even though I use excerpts for my summaries in the tutorials section, I wanted to use the “more” tag in the blog section to accomplish the standard blog setup with the beginning of a post on the homepage and the rest on the single post page, with a “Read more” link allowing the reader to click through to the latter.

Two Blog Homepages

There’s a small problem with having what essentially amounts to two blog homepages…one for the tutorials section and another for the blog section. The problem is that I have to tell WordPress to use one as the actual blog homepage, which, in my case, I’ve already set up to be the tutorials page. By default, WordPress won’t let you use the “more” tag to clip posts on any pages other than the specified homepage. So, I did a little searching and found a really simple fix for this problem over at Weblog Tools Collection.

The Solution

The solution is incredibly simple, although, if you didn’t do the exact same Google search I did you may have trouble finding it, so here it is.

All you have to do is add the following line just before the code to display your post content:

1
<?php global $more; $more = FALSE; ?>

So you end up with something like this on the page where you want your posts to be cut off (the “Blog” page in my case):

1
2
<?php global $more; $more = FALSE; ?>
<?php the_content('Read more &rarr;'); ?>

Why It Works

I haven’t looked into the specific details on why this works, but it appears that WordPress uses the global variable “$more” as a flag to tell it whether or not the “more” tag should function on a given page. By default it’s probably set for whatever page you specify as your blog’s homepage, but not the rest. The code above sets the global variable “$more” equal to FALSE before displaying the post content so that WordPress respects the “more” tag on that page.

Ignoring the “More” Tag Once Again

Incidentally, you can set $more = TRUE immediately after displaying your content and WordPress will ignore the “more” tag in any posts following that one…like so:

1
2
3
<?php global $more; $more = FALSE; ?>
<?php the_content('Read more &rarr;'); ?>
<?php $more = TRUE; ?>

Written by John Crenshaw

More from John Crenshaw
Choosing the Right Enterprise SEO Agency: 2026 Vetting Guide

Scaling organic search for a large organization is fundamentally different from small business SEO. You're not just optimizing a few dozen pages; you're managing tens of thousands, or even millions,…

How to Do a Website Audit That Actually Boosts Revenue

So, you need to do a website audit. At its core, this means systematically breaking down your site’s technical health, on-page content, and user experience to find out what’s holding…

7 Powerful YouTube Dashboard Examples to Master Your Channel in 2026

YouTube's native analytics are powerful, but they don't always tell the whole story or connect performance to your broader marketing goals. A well-designed dashboard transforms raw data into a strategic…

Data driven marketing strategies: A Practical Growth Guide

Data-driven marketing strategies live and die by the quality of your customer data. It's the bedrock. Without a solid foundation, you're just guessing. Confused about where to start? Get a…

How to Calculate Marketing ROI and Prove Your Real Impact

Let's cut right to the chase. The simplest way to figure out your marketing return on investment is with this formula: (Revenue - Marketing Investment) / Marketing Investment. This little…

The Ultimate 10-Point PPC Audit Checklist for 2025

Pouring money into PPC campaigns without regular, in-depth audits is like navigating a maze blindfolded. You're moving, but are you getting closer to your goal? Many businesses leak significant portions…

Ready to talk? We’re listening.

If you have questions we have answers. And probably some questions for you, too.

Let’s get after it!

Let's Get Started