> ## Documentation Index
> Fetch the complete documentation index at: https://memberful.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Restrict access to a single post or page

> Restrict access to a single WordPress post or page with the Memberful plugin. Choose which plans can view it and what visitors see when they don't have access.

export const RelatedDocs = ({link1, link2, link3, link4, link5, link6, link7, link8, link9, link10, className = ""}) => {
  const links = [link1, link2, link3, link4, link5, link6, link7, link8, link9, link10].filter(Boolean);
  if (!links.length) return null;
  return <section className={`related-docs border dark:border-gray-700 rounded-2xl px-6 py-4 mt-6 ${className}`}>
      <p className="mb-2 font-medium">
        <strong>Related help docs:</strong>
      </p>
      <ul className="space-y-1 mb-1 mt-1">
        {links.map((link, index) => <li key={index}>
            <a href={link.url}>{link.label}</a>
          </li>)}
      </ul>
    </section>;
};

export const Video = ({url}) => {
  return <div>
      <iframe className="w-full aspect-video rounded-xl" src={url} allow="autoplay; fullscreen" allowFullScreen></iframe>
    </div>;
};

After you integrate the Memberful WordPress plugin, a metabox will appear below the post and page editor in your WordPress dashboard. This feature allows you to easily generate a paywall, control access, and specify which membership plans will grant the member access to the content of the page or post.

In this help article, we'll walk you through how to restrict access to a single post or page, choose who has access, add marketing content and members-only content, and display teaser text for non-members.

<iframe className="w-full aspect-video rounded-xl" src="https://player.vimeo.com/video/480477837?title=0&byline=0&portrait=0" title="Vimeo video player" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen />

Once you've [installed the Memberful WordPress plugin on your site,](/wordpress-plugin/setup/install-the-memberful-plugin/) you'll see a Memberful: Restrict Access box below the post and page editor.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/memberful-restrict-access-metabox-overview.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=140f00a4eab6d6bb3a31627ea0ab80e3" alt="Memberful restrict access metabox overview" width="1440" height="926" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/memberful-restrict-access-metabox-overview.png" />
</Frame>

Choose who should have access to your page or post by checking the appropriate box(es):

* All members—active, inactive, or free (works well for a ["freemium" tier](/member-management/payments-and-access/give-free-access/#enable-free-registration))
* Members with an active subscription
* Members with an active subscription to a specific plan
* Anybody who owns a specific [download](/plans/plan-options/include-or-sell-downloads/)

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/who-has-access.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=a469d8f7a2be76acf129ff9b45bf3550" alt="Choose who has access" width="1440" height="1216" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/who-has-access.png" />
</Frame>

<Callout icon="info" color="#22E273">
  This method allows you to protect content displayed via the default WordPress content function (e.g. content in the default post/page editor). To restrict access to content that your theme displays in other locations, you may need to use our [shortcodes](/wordpress-plugin/protect-content/wordpress-shortcodes/) or [WordPress functions](/wordpress-plugin/protect-content/wordpress-functions/).
</Callout>

### Restrict access to custom post types

You can restrict access to custom post types in the same way you would restrict access to standard posts and pages.

First, make sure the custom post type has been registered in WordPress. [Here's an article showing a couple of ways to create custom post types.](https://www.wpbeginner.com/wp-tutorials/how-to-create-custom-post-types-in-wordpress/) To finish the registration process, go to *Settings → Permalinks* and click *Save Changes* to re-sync your permalink settings.

Once your custom post type is registered and you've created a new page with that post type, you'll see the *Memberful: Restrict Access* box at the bottom of the page, just like you would on a standard post or page.

## Review your options for adding marketing content

When you protect a page or post with the Memberful WordPress plugin, you have the opportunity to show marketing content or teaser text to non-members or members who aren't signed into your site.

For example, you might want to share a preview of the content behind the paywall along with a link to your sales pages and a [sign-in link for existing members.](/wordpress-plugin/setup/member-account-links/#option-1-memberful-sign-in-link)

Check out these customer examples for inspiration:

* [Mythical Society's members-only videos](https://www.mythicalsociety.com/series/rhett-link-stevie-go-to-halloween-horror-nights/welcome-episode-1)
* [Food Fix's paywall for members-only articles](https://foodfix.co/states-forge-ahead-with-universal-free-school-meals/)

There are several ways to add marketing content.

### Add marketing content to a single page or post

To add marketing content to a single page or post, scroll down to the **Memberful: Restrict Access** box below the page or post editor, add your content to the meta box, and then update your post.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/marketing-content.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=f6e46b85f258a65d5d41a88c96d08335" alt="Add marketing content" width="1440" height="847" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/marketing-content.png" />
</Frame>

### Create default marketing content

To create default marketing content for all pages and posts, go to *Settings → Memberful → Global marketing content* in your WordPress dashboard.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=b1971f37d7e81aed0fe6ab35c190fca9" alt="Global marketing content" width="1440" height="217" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content.png" />
</Frame>

Check the setting **Turn on global marketing content,** and select one of the two options:

* **Override all marketing content:** Marketing content in Memberful's meta boxes will be replaced in all protected pages and posts.
* **Only use the global marketing content when other content doesn't exist:** The global marketing content will only be displayed on protected pages or posts that have an empty Memberful meta box.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content-options.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=3b623ff6d71546875db991f48e944373" alt="Global marketing content options" width="1440" height="487" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content-options.png" />
</Frame>

Add your marketing content in the meta box and click **Save changes.**

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content-save-changes.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=f0020a47fec987a36cf98dfd2a4e27ac" alt="Save global marketing content" width="1440" height="1191" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content-save-changes.png" />
</Frame>

### Fade out teaser text

To display a short excerpt from the beginning of your posts and then fade out to the marketing content, go to *Settings → Memberful → Global marketing content* in your WordPress dashboard.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=b1971f37d7e81aed0fe6ab35c190fca9" alt="Global marketing content" width="1440" height="217" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content.png" />
</Frame>

Check the settings **Turn on global marketing content** and **Automatically pull an excerpt from each post.** Choose one of the two options:

* Override all marketing content
* Only use the global marketing content when other content doesn't exist

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/enable-teaser-text.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=34c5568218476d85dec4a77469b82e46" alt="Teaser text" width="1440" height="626" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/enable-teaser-text.png" />
</Frame>

Add any additional marketing content in the meta box and click **Save changes.**

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content-teaser-text-save-changes.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=a989a0284547e82e1802dbc2a7148bc8" alt="Global marketing content" width="1440" height="1191" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/global-marketing-content-teaser-text-save-changes.png" />
</Frame>

Memberful will pull the first two paragraphs from your protected posts to be displayed before the marketing content for logged out visitors. This feature looks for `<p>` tags in your posts to detect the first few paragraphs to use as teaser content, so make sure your content is properly formatted in paragraphs.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/fade-out-teaser-example.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=4b59933c31102617bddeb7b3d80c3136" alt="Fade out teaser example" width="1440" height="993" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/fade-out-teaser-example.png" />
</Frame>

## Add members-only content

Add your members-only text, images, and video embed codes in the editor above the marketing content. Save your page or post.

<Frame>
  <img src="https://mintcdn.com/memberful/M_FwlsoTYDRYJ4EU/images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/members-only-content.png?fit=max&auto=format&n=M_FwlsoTYDRYJ4EU&q=85&s=3b581dab1584b3d8a37c330819298f97" alt="Add member-only content" width="1440" height="901" data-path="images/wordpress-plugin/protect-content/restrict-access-to-a-single-post/members-only-content.png" />
</Frame>

If a member is [logged in to your site](/wordpress-plugin/setup/member-account-links/) and has the correct access, they'll be able to see the protected content on your page or post. If they don't have the right access or are logged out of your site, they'll see the marketing content.

<Callout icon="triangle-alert" color="#FFE044">
  To test the content protection on your site, log out of your WordPress administrator account and your Memberful dashboard, or access the page on a separate browser window. Incognito/private browser modes are not supported and will produce inaccurate results.
</Callout>

If you need to include marketing material in your unprotected (free) content, but want it to be hidden to members who've already paid, [use our shortcodes to manually protect WordPress content.](/wordpress-plugin/protect-content/wordpress-shortcodes)

<RelatedDocs
  link1={{
url: "/wordpress-plugin/protect-content/bulk-restrict-access/",
label: "Restrict access to multiple posts in bulk.",
}}
  link2={{
url: "/wordpress-plugin/protect-content/restrict-access-by-category-or-tag/",
label: "Restrict access to entire categories or tags.",
}}
  link3={{
url: "/website-builder/video-content/restrict-access-to-video-content/",
label: "Restrict access to video content.",
}}
/>
