Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Create a Custom Page in WordPress

Do you want to create a custom page in WordPress?

A custom page lets you use a different layout from the rest of your website. Many WordPress sites use custom page layouts for their sales pages, landing pages, webinar pages, and more.

In this article, we will show you how to easily create a custom page in WordPress.

How to create a custom page in WordPress

Why Create a Custom Page in WordPress?

Every time you create a new page, your WordPress theme controls how that page looks using a template file.

This page.php template affects all single pages that you create in WordPress. However, you may not want to use the same design every single time.

Landing pages often have different content compared to regular pages, such as a large hero image or a call to action (CTA). This means they often look completely different from the rest of your website. 

However, trying to create unique designs using the standard page template can take a lot of time. You’re also limited by the page.php template, and may not be able to create the exact design you want. This can make it difficult to get good results. For example, if you’re building a sales page, then you may not get many conversions due to poor page design.

With that being said, let’s see how you can create a custom page in WordPress, with the exact design, layout, and content you want. Simply use the quick links below to jump straight to the method you want to use.

Method 1. How to Create a Custom Page in WordPress Using the Block Editor (No Plugin Required) 

The block editor makes it easy to design your own templates using the tools you’re already familiar with.

This is a good choice if you plan to re-use the same design across multiple pages, as you can simply apply the same template. If you want to create a completely unique design, then another option is to create the page as normal and then edit its layout using the full-site editor, which we’ll cover in Method 2.

Just be aware that these methods only works with block-based themes such as ThemeIsle Hestia Pro or Twenty Twenty-Three. If you don’t have a block-based theme, then we recommend using a page builder instead.

To start, simply open any page or post. Then, select the ‘Page’ tab in the right-hand menu and click on the text next to ‘Template.’

How to create a custom theme using the built-in WordPress template

The options you see may vary depending on your WordPress theme, but the text will typically show ‘Page,’ ‘Default template,’ or similar.

In the popup that appears, click on the ‘Add Template’ icon.

How to create a custom WordPress template

In the popup that appears, type in a name for your template and then click on ‘Create.’

The name is just for your reference so you can use anything you want.

Creating a new template in the WordPress block editor

This launches the template editor, which works similarly to the WordPress content editor.

To add blocks to the custom page design, simply click on the blue ‘+’ button. You can then drag and drop to add blocks.

Editing a WordPress template using the block-based editor

You can add content to a block or change its formatting using the familiar WordPress post editing tools. For example, you can type text into a ‘Heading’ block, apply bold formatting, or change text from H2 to H3.

You can also create a custom page using patterns. Patterns are collections of blocks that are often used together, such as a list of events, an image with a caption, or a pricing table.

The patterns you see will vary depending on your WordPress theme, but you can see which patterns are available by clicking on the ‘Patterns’ tab.

A selection of patterns in the WordPress editor

You can either drag and drop a block pattern onto your layout or click on the pattern to add it to the bottom of your template. When you’re happy with how the template looks, click on the ‘Publish’ button and then click on ‘Save.’

You can now apply this template to any page. Simply open the page in the editor, and then click on the text next to ‘Template.’

In the popup that appears, select the template the template you just created.

Changing the WordPress template

With that done, you can add content to the page, just like any other WordPress page. 

Method 2. How to Create a Custom Page Using the Full-Site Editor (Block-Based Themes Only)

If you’re using a block-based theme, then you can also create a custom page using the full-site editor. This allows you to change the layout of an individual page, without creating a custom template.

With that in mind, this is a good choice if you want to create a completely unique design that you won’t re-use on any other page.

To get started, simply create the page as normal by going to Pages » Add New. You can then type in a title, add categories and tags, upload a featured image, and make any other changes you want.

When you’re happy with the basic page, save your changes and then head over to Appearance » Editor.

Opening the WordPress full-site editor (FSE)

By default, the full site editor shows your theme’s home template.

In the left-hand menu, click on ‘Pages.’

Editing a page layout using the full-site editor (FSE)

You’ll now see all the pages you’ve created on your WordPress website.

Simply find the page you want to re-design and give it a click.

Create a custom page design using the full-site editor (FSE)

WordPress will now show a preview of the design.

To go ahead and edit this template, click on the small pencil icon.

Create a custom page design using the block-based editor

You can now edit the page’s layout using the full-site editor tools. For example, you can click on the blue ‘+’ button to add new blocks, or click to select any block you want to customize.

When you’re happy with the changes you’ve made, click on the ‘Save’ button.

Create a custom page design using the block-based editor

Now, if you visit this page on your website you’ll see the new page design in action.

Method 3. Create a Custom Page in WordPress using SeedProd (Recommended) 

In the past, you created a custom page by writing code, which wasn’t very beginner-friendly. If you made a mistake with your HTML, CSS, or PHP code, then it could cause common WordPress errors or even break your site completely.

With that in mind, we recommend using a page builder instead.

SeedProd is the best drag-and-drop page builder for WordPress. It comes with more than 180 templates that allow you to create custom pages without writing any code. 

If you’re using a custom page to get more conversions, then SeedProd works with many popular third-party tools you may already be using to get conversions. This includes top email marketing services, WooCommerce, Google Analytics, and more.

First, you need to install and activate SeedProd. For more details, see our step-by-step guide on how to install a WordPress plugin.

Note: There’s also a free version of SeedProd that allows you to create custom pages no matter what your budget. However, for this guide we’ll be using SeedProd Pro since it has lots more templates and integrates with all the best email marketing services.

After activating the plugin, SeedProd will ask for your license key.

SeedProd license key

You can find this information under your account on the SeedProd website. After entering the key, click on the ‘Verify Key’ button.

Choose a Custom Page Template

Once you’ve done that, go to SeedProd » Landing Pages and click on the ‘Add New Landing Page’ button.

SeedProd's page design templates

You can now choose a template for your custom page.

SeedProd’s templates are organized into different campaign types such as ‘lead,’ ‘squeeze,’ and ‘coming soon.’ You can click on the tabs at the top of the screen to filter templates based on campaign type. 

The SeedProd template library

If you want to start from scratch, then SeedProd also has a blank template that you can use.

To take a closer look at any design, simply hover your mouse over that template and then click on the magnifying glass icon.

Previewing a ready-made template

When you find a design you like, click on ‘Choose This Template.’ We’re using the ‘Course Sales Page’ template in all our images, but you can use any template you want.

Next, go ahead and type in a name for the custom page. SeedProd will automatically create a URL based on the page’s title, but you can change this URL to anything you want.

A descriptive URL will also help search engines understand what the page is about so they can show it to the right users, which will improve your WordPress SEO.

To give your custom page the best chance of appearing in relevant search results, you may want to add any keywords that are missing from the URL. For more details, please see our guide on how to do keyword research.

Creating a custom page for your WordPress website

When you’re happy with the information you’ve entered, click on the ‘Save and Start Editing the Page’ button.

Design Your Custom Page

SeedProd will now open your chosen template in its user-friendly drag and drop editor. You’ll see a live preview of your page to the right, and some block settings to the left.

The SeedProd courses template

To customize a block, simply click to select it in the page editor. The left-hand toolbar will then show all the settings for that block.

In the following image, we’re changing the text inside a ‘Headline’ block.  

Editing the headline for your custom page

You can format the text, change its alignment, add links, and more using the settings in the left-hand menu.

It’s also easy to edit images using the SeedProd page builder. Simply click on any ‘Image’ block and use the settings to add alt text, upload a new image, or make any other changes. 

Editing images in a custom page design

If you want to remove a block from the custom page, then simply click to select that block.

Then, click on the trash can icon in the mini toolbar. 

Removing a block from a SeedProd custom page

To add new blocks to your design, just find a block in the left-hand menu and then drag it onto the editor.

You can then click to select the block and make any changes in the left-hand menu. 

Adding a social sharing block to WordPress

SeedProd also comes with ‘Sections,’ which are rows and block templates that can help you create a custom page, fast. For example, if you were designing a Google Ad landing page, then you might use SeedProd’s ready-made Hero, Call To Action, or Features sections.

To see all the available sections, simply click on the ‘Sections’ tab.

SeedProd's ready-made sections

To take a closer look at a section, hover your mouse over it and then click on the magnifying glass icon.

When you find a section that you want to add to your design, simply move the mouse over it and then click on the little ‘+’ icon.

Adding a section to a custom page

This adds the section to the bottom of your page. You can move both sections and blocks around your design using drag and drop.

If you make a mistake or change your mind, then don’t worry. You can reverse your last change by clicking on the ‘Undo’ button at the bottom of the left-hand toolbar.

Here, you’ll also find a redo button, revision history, layout navigation, and global settings.

The SeedProd global settings bar

These extra buttons make it easy to create a custom page in WordPress. 

At the bottom of the toolbar, you’ll also find a mobile preview button that allows you to view the mobile version of the custom page. 

Previewing a custom page on mobile

This can help you design a custom page that looks just as good on mobile devices as it does on your computer.

When you’re happy with the custom page, it’s time to publish it by clicking the dropdown arrow next to ‘Save’ and then selecting the ‘Publish’ option. 

Publishing a custom page

Your custom page will now go live on your WordPress blog.

If you want to edit the custom page at any point, then just go to SeedProd » Landing Pages in your WordPress dashboard. You can then find the page that you want to change and click on its ‘Edit’ link.

Fine-tuning a custom page in WordPress

This will open the design in SeedProd’s editor, ready for you to make your changes.

Method 4. Using Thrive Architect to Create a Custom Page in WordPress

You can also create a custom page using Thrive Architect. Thrive Architect is another popular drag and drop page builder for WordPress.

It comes with over 300 professionally-designed templates that are designed to help you get more conversions.

Custom page example built with Thrive Architect

First, you need to install and activate the Thrive Architect plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, go to Pages » Add New in your WordPress admin dashboard to create a custom page. Then, click on the ‘Launch Thrive Architect’ button.

Launch Thrive Architect

Next, you can choose whether to create a normal page or a pre-built landing page.

We recommend clicking on ‘Pre-built Landing Page’ as it gives you access to all the Thrive landing page templates. These templates are fully-customizable, so you can fine-tune them to suit your WordPress website.

Choose the Pre-built Landing Page option in Thrive Architect

When you find a set you like, simply click to select it.

In the following image, we’re selecting ‘Smart Landing Page Sets.’

Pick a template for your custom page in Thrive Architect

On the next screen, you need to choose a specific template from the set.

Select a template by clicking on it and then hitting the ‘Apply Template’ button.

Apply Thrive Architect template

This will open the template in the Thrive Architect Editor. From here, you can easily customize the page template to match your blog, website, or online store.

As an example, you can change the ‘Heading’ by clicking on it and then typing in your own custom messaging.

Customize page elements in Thrive Architect

You’ll now see all the customization options in the left-hand menu. Here, you can change the typography, font size, color, formatting, and more.

From the left-hand panel, you can also adjust other settings for your custom page, such as the layout, background style, borders, animations, and scroll behavior, just to name a few.

Customize page settings in Thrive Architect

Similar to SeedProd’s blocks, Thrive Architect comes with many pre-built elements you can add to your custom page.

To add a new element to the page, click on the ‘Add Element (+)’ button on the right-hand side of the screen.

Click the Add Element button

You can now choose from elements like images, buttons, lead generation forms, pricing tables, countdown timers, and more.

To add an element, simply drag it from the right-hand menu and drop it onto your page.

Drag and drop elements onto your page

Again, you can edit any of the new elements you add to your page by clicking on them. 

When you’re happy with how the page looks, click on the arrow (^) button next to the ‘Save Work’ button. Then, click the ‘Save and Return to Post Editor’ option.

Save custom page in Thrive Architect

You can then save the page as a draft, or publish it so it shows up on your WordPress website.

Once your custom page is published, you can visit your site to see it in action.

Publish custom page

We hope this article helped you learn how to create a custom page in WordPress. You may also want to see our guide on how to increase your blog traffic, and our expert picks of the best contact form plugins for WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

230 CommentsLeave a Reply

  1. Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Hiii, Thanks for the information.

    I have a little problem/confusion. I had made the custom page as you described in the tutorial above. But i want to add custom php code to fetch data from other place and display on the custom page i just created.

    There will be a dropdown on the custom page and on selecting a value it will display some data on the same page which is either coming from database or from some other website.

    How can i do that ?

    Any suggestion :) ?

  3. Hi – I was wondering how I can avoid including other plugins css and js files such as woocommerce and various others in my template.



  4. What if the theme has a kind of wrapper base.php? I would like to create a new custom page template but I always get also what is in the main wrapper base.php. Did I make myself clear enough?

  5. how about this one,

    I want the sidebar on the very right and all the other content “full width” on the page. How can I do this?

    When I choose “Full Width” in the WordPress-Site-Settings, the sidebar of course is gone and my content still isn’t full width.

    you can see my page here:
    thank you!

  6. Nothing shows up in the drop down in Page Attributes? I am using Storefront theme for Woocommerce. What is the solution? Is Storefront not allowing custom page templates? Any help is much appreciated. Thanks.

  7. Very educative indeed, thanks alot. However, I have a rather unique situation and after reading your post felt I should ask. I have two lovely pages I long to add to my wordpress theme, but sadly they are static HTML pages with commenting, voting as well as sharing system. Is there a way I can get them into my existing wordpress theme and also get them to use the wordpress commenting, voting and sharing systems?

  8. Thank you for this tutorial.

    Today, You give me a chance to learn something new in wordpress.

  9. Thank you for the tutorial. I am happy to learn new stuff step by step.
    But, When I preview the page with the new template, I don’t have a white page, I have my default theme loaded.

    How can I change that?

  10. I just want to THANK YOU for posting this. I’ve been trying to get a static front page to work with my custom template and I just couldn’t find a straight and simple answer until stumbling upon this article. Much appreciated.

  11. thanks, the google search console requires to save .html file to my wordpress website , but .html will not be appeared in the website , can any one help please because i want to register my website to search console

  12. I don’t see the template option in the Page Attributes section of my wp page – is there something I need to do to see this?

  13. Thanks for the post! It was so difficult to find this simple answer in the wordpress codex. One suggestion, though. Please add to your post that when users create their ‘custom_page.php’ file to add a header tag, i.e. with a text title so they don’t get a white page on the first go. It’s just a quick way of making sure the page is really working. Again, thanks a lot for making this so easy!

  14. I m trying to embed some javascipt or html codes into the blank page… how should i do that? Because i now have the blank page but when i embed the embedded codes onto the editor it doesnt seems to work.

  15. How do you do this for WordPress 4.7? No Template shows up when I attempt to create a page in 4.7.

  16. “Once you have added the code, save the file to your desktop as, custompaget1.php.”
    My notepad save the file as .txt
    How to you even save it as .php file???

    • Hello,

      Try using ‘Save as’ instead of save option from the file menu. When using save as write full name for your file. You can also rename the existing custompaget1.php.txt file to custompaget1.php


  17. I’m truly a beginner and found the steps easy to follow. I created my new .php file following the instructions, pasting the page.php text at the end of my new .php file. I’m to the point where my new custom page template is available in the drop down when I create a new page. I select the new template for the new page, and when I make changes to the new page in the customizer (delete a text widget from the sidebar), the changes are applied to the other pages that have the default template selected as well, not to just my new page with the new custom template selected. Any ideas?

  18. I found this really helpful. However, I did have one problem. When I go to the new page
    there is a 32px top margin on it which does not show on the other page.

  19. Hello,

    I have an issue with my WP pages. I have a website up and running and I recently needed to add a new page and a new menu button. I’ve made a new menu button and created a new page (default template) and published it. However, on the website, after clicking on the new button under which this new page should be, it’s only showing header and footer. Not my new page.

    Could you be so kind and advise me on this? I’m a total WP beginner so building my own template page is out of the question and I was under the impression that simply adding a new page to my WP website should be only a few clicks away…


  20. Hi! I did as you said.
    I created a .php file with the same code snippet as given and uploaded it onto my /wp-content/themes folder. Now, when i go to the Page section on WordPress, there is no option for the Template choosing. What should i do ? Can you figure out where i might be going wrong ?

  21. Hi. I don’t know any php and I need to creature a custom page for my website.

    Is it possible to create an HTML page from scratch, include javascript to the page and put it into the .php file as described?


  22. Hi,

    I’m trying to create a blank template to be used for a landing page. I succeded in creating the blank template, but now when I try to add content (using the WP editor or Visual Composer or even a CF7 contact form) no style is applied. Is there any way to tell the template to use the theme css style?


  23. This isn’t a new post type but is a new template. They’re two different thing. In fact the you can call a template from a post whereas the custom post type has a personal space in admin panel.

  24. I followed all the steps and they worked until I tried to select it in the “Page Attributes” part. The “CustomPageT1” is just not an option in the drop down menu!

    What can I do so that WordPress and or my theme can pick up that it’s a template?

    Thanks in advance!


    • Most often users make mistake while copy-pasting code snippets. Please make sure that your custom template file contains exactly the same code
      <?php /* Template Name: CustomPageT1 */ ?>


  25. It was like I’m reading 123. I hope a page template of a theme could be used in another theme.

  26. please can you help me out. I have two themes. one for my desktop view and the other for mobile. i used any mobile switcher to get the mobile view working. I designed a static page for desktop theme and this is where my problem begins because once i set from “reading” to use static front page for the desktop theme, the mobile theme homepage stops displaying posts. please is there a way i can get this working? this is the site am talking about thanks in advnce

  27. For a “beginner” this was not helpful. You did not explain the steps more in detail, like “go to your current theme folder” – how do I do this? And your FTP instructions were way to vague. If I was able to understand your instructions I wouldn’t have needed this wp-beginner in the first place as it is explained for those that have mor tech experience.
    These tutorals were not at all helpful and are just targeted for the more tech viewers.

    • Hi Steven,

      We are sorry that you didn’t find this article helpful. We will try to explain in comments.

      To connect to your theme folder you will need an FTP client. These are special software which allow you to connect to your webserver and upload, delete, and manage your files directly.

      When you sign up with a WordPress hosting provider, they send you an email with your FTP login credentials. If you did not receive this email then please contact your hosting provider via chat or email and then will send them to you right away.

      However, if using FTP seems a bit too difficult, then you can also use File Manager. It is a web based application available under your web hosting account. Login to your web hosting account and look for File Manager.

      Let us know if you need more help :)

      We will try to improve and make our articles even more beginner friendly in the future.


  28. Thank you very much, this your article about custom page have really pointed me in the right direction for I needed to override theme page in my plugin for some custom post types.

    Thank you once again.

  29. Hello,

    What can I do if I see the successful transfer of the custompageT1 to my FireFTP client, but when I go into WP admin – create a new page – scroll down to template, the custompageT1 is not in the drop down list to select?



  30. Excellent, very useful. Thank you.
    but u fogot to tell where i want to add my custom php code in the template file :(

  31. This is really extra ordinary. Generally, I do add a page and then create that. But today, I have known something new.

  32. Dear sir,

    I did what you say. but in my page edit screetn there no template comming in attribute. what i can do sir?

  33. Thanks for the tutorial! actually i have a games WordPress template and every time i try to create a page treat it as a game and not show the page content as usual, but i think everything will be okay after reading and applying this tutorial on my website:

    Thanks again

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.