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 your regular pages in WordPress. Many WordPress sites have 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, step by step.

How to create a custom page template in WordPress

Understanding Custom Pages in WordPress

By default WordPress allows you to create posts and pages.

Your WordPress theme controls the appearance of your pages using a template file called page.php.

This template file affects all single pages that you create in WordPress.

However, as you already know that not all pages are the same. For instance, you may want to create a landing page that looks quite different from your regular website pages.

In the past, creating a custom page in WordPress meant coding your own custom template using HTML, CSS, and PHP. We will cover that method, but we do not recommend it for beginners.

Instead, we suggest using SeedProd or another page builder plugin to create your custom page. Simply use these quick links to jump straight to the different methods.

Video Tutorial

Subscribe to WPBeginner

If you’d prefer written instructions, just keep reading.

Using SeedProd to Create a Custom Page in WordPress

SeedProd is the best drag and drop page builder for WordPress. It comes with 100+ professionally designed templates that you can use as the basis for your page.

Alternatively, you can create a completely custom WordPress page without writing any code using their drag & drop builder.

SeedProd is designed to be easy to use, even for total beginners. However, it also has advanced options that let you build visually stunning pages to engage your visitors and increase conversions.

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

Note: there’s a free version of SeedProd plugin available as well. However for our example, we’ll be using the Pro version since it has many powerful features.

Upon activation, you should see the welcome page. You need to enter your license key here and click the ‘Verify key’ button. You will find your license key in your account area on the SeedProd website.

Entering your license key for SeedProd

Next, go to SeedProd » Pages in your WordPress admin. Then, simply click the ‘Create New Landing Page’ button.

Creating a new landing page in SeedProd

Next, you will be prompted to choose a template. You can filter these to find templates for the type of page you are creating. If you prefer to start from scratch, then simply use the blank template.

Choosing your page template in SeedProd

For the sake of this tutorial, we’re going to use a ‘Course Sales Page’ template.

You will be prompted to give your page a name and set the URL. After doing so, go ahead and click the ‘Save and Start Editing the Page’ button.

Giving your page a name and URL in SeedProd

The template you chose will now load up in the SeedProd page builder.

The SeedProd page builder interface

To change anything in the template, simply click on it. It’s easy to change text directly in the page builder itself. For instance, here we are editing the page headline.

Editing your page headline in SeedProd

You can format your text, change the alignment, add links, and more.

It’s also easy to edit images using the SeedProd page builder. Simply click on the image that you want to change.

In this example, we have replaced the default image at the top of the page with our own image.

Uploading a new image into SeedProd

Go ahead and change anything you want by simply clicking on it. This will open the editing pane on the left hand side of the page.

To add new blocks (elements) to your page, simply click on the Design tab at the top of the page. Just choose any Standard or Advanced block and simply drag and drop it into place on your page.

Adding blocks in SeedProd

After adding a block, you just need to click on it to edit it. Here, we’ve added a list block to our page.

A list block in SeedProd

If you make a mistake at any point or change your mind, don’t worry. Simply click the ‘Undo’ button at the bottom of the page to reverse what you did.

The Undo button in SeedProd

You will also find the redo button, revision history, layout navigation, mobile preview, and global settings for your page here.

Once you are happy with your custom page, it’s time to preview or publish it. To publish the page, first click the dropdown arrow next to the Save button at the top of the screen. Then, select the Publish option.

Saving or publishing your page in SeedProd

You will see a message letting you know that your page has been published. To check it out straight away, simply click the ‘See Live Page’ button.

The SeedProd message letting you know that your page has been published

To edit your custom page at any point in the future, simply go to SeedProd » Pages in your WordPress admin.

You should see your saved page in the list of landing pages. Simply click on the title to edit it.

Editing your existing landing page in SeedProd

The benefit of using SeedProd over any other page builder in WordPress is that it will not slow down your site. SeedProd is the fastest page builder, and it lets you create completely custom page layouts that are independent of your theme design, so you can have custom header, footer, etc.

Using Beaver Builder to Create a Custom Page in WordPress

Beaver Builder is a popular and well-established drag and drop page builder for WordPress.

You can use it to easily create custom pages on your website or blog. We recommend using the full version of Beaver Builder. There’s also a free version of Beaver Builder available with limited features.

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

Upon activation, you will see the Beaver Builder welcome screen. Simply click on the License tab to enter your license key. You will find this in your account area on the Beaver Builder website.

Don’t forget to click the ‘Save License Key’ button to save your license key.

Adding your license key to Beaver Builder

To use Beaver Builder, simply go to Pages » Add New in your WordPress admin to create a new page. Then, click the ‘Launch Beaver Builder’ button.

Launch the Beaver Builder editor when creating a new page

The Beaver Builder editor will then open up. You need to add rows and modules to create your page. Simply click on the element you want to use, and drag it onto your page.

Selecting modules or rows to drag and drop using Beaver Builder

Alternatively, you can start with a template. Go ahead and click the Templates tab, then choose a template to use.

Choosing a template in Beaver Builder

You can then click on any part of the template to change it. For instance, you can change the text, images, colors, and more.

Here, we’re editing the heading of the page. Beaver Builder’s editing process isn’t quite so smooth as SeedProd’s, as you need to type the text into a separate popup box.

Editing a heading in Beaver Builder

Once you’ve finished making changes to your page, simply click the Done button on the top right. You will then be able to save or publish your post.

Saving your post in Beaver Builder

Creating a Custom Page Template Manually

If you prefer not to use a plugin, you can create a custom page template manually in WordPress.

Editor’s note: It’s completely fine to have many plugins running on your WordPress site. Take a look at our post on how many WordPress plugins you should install if you are worried about having too many plugins.

First, you need to open a plain text editor like Notepad on your computer. In the blank file, add this line of code at the top:

<?php /* Template Name: CustomPageT1 */ ?>

This code simply tells WordPress that this is a template file, and it should be recognized as CustomPageT1. You can name your template anything you want as long as it makes sense to you.

Once you have added the code, save the file to your desktop as, custompaget1.php.

Go ahead and save the file with any name, just make sure that it ends with the .php extension.

For this next step, you will need to connect to your WordPress hosting account using an FTP client.

Once connected, go to your current theme or child theme folder. You will find it in the /wp-content/themes/ directory. Next, upload your custom page template file to your theme.

Now you need to login to your WordPress admin area to create a new page or edit an existing one.

On the page editing screen, scroll down to the ‘Page Attributes’ section. You will see a Template dropdown menu. Clicking on it will allow you to select the template you just created.

Selecting your custom page template

If you select your new template and visit this page on your site right now, then you will see a blank page. That’s because your template is empty and does not tell WordPress what to display.

Don’t worry, we will show you how to easily edit your custom page template.

Editing Your Custom Page Template

Your custom page template is like any other theme file in WordPress. You can add any HTML, template tags, or PHP code in this file.

The easiest way to get started with your custom page is by copying the existing page template provided by your theme.

Open your FTP client and go to your theme folder. There you will find a file called page.php. You need to download this file to your computer.

Downloading the page php file for your site

Open the page.php file in a plain text editor like Notepad, and copy all its content except the header part.

Template header of a typical page php file in WordPress

The header part is the commented out part at the top of the file. We are not copying it, because our custom page template already has one.

Now you need to open your custom page template file and paste all the code you have copied at the end.

Your custom page file would now look something like this:


<?php /* Template Name: CustomPageT1 */ ?>

<?php get_header(); ?>

<div id="primary" class="content-area">
	<main id="main" class="site-main" role="main">
		<?php
		// Start the loop.
		while ( have_posts() ) : the_post();

			// Include the page content template.
			get_template_part( 'template-parts/content', 'page' );

			// If comments are open or we have at least one comment, load up the comment template.
			if ( comments_open() || get_comments_number() ) {
				comments_template();
			}

			// End of the loop.
		endwhile;
		?>

	</main><!-- .site-main -->

	<?php get_sidebar( 'content-bottom' ); ?>

</div><!-- .content-area -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>


Simply save your custom page template file and upload it back to your theme folder using FTP.

You can now visit the page you created using the custom page template. It should look exactly like your other pages in WordPress.

Next, continue editing your custom page template file. You can customize it in any way you want. For example, you can remove the sidebar by removing the line that starts <?php get_sidebar.

You can also add custom PHP code or add any other HTML you want.

To add the actual content for your page, just edit the page as normal in WordPress.

You could also leave the content area in the page editor completely empty, and add custom content directly to your page template. That way, the content you add will appear on all pages using the custom template.

We hope this article helped you add a custom page in WordPress. You may also want to see our guide on the most important types of WordPress pages that every website should have, and our list of the must have WordPress plugins for all websites.

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.

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

229 CommentsLeave a Reply

  1. Thanks for the great article. I often use your site for assistance with WordPress.
    I followed your tutorial to manually create a new template file. When selecting the template there is no CSS attached to the page. Did I miss something?

    • It would depend on the specific theme you’re using, if you check with your theme’s support they should be able to let you know why their CSS is not being applied to your page properly.

      Admin

  2. Perfect article.
    I have a q
    can i make a custom page and then make it the main website page or Home page?
    I don’t like to have too much content in my firs page and i want to make every thing in the main home page by my own ( i mean with HTML, CSS, JS ).
    is there any way to do that?

    • For customizing everything in that manner you would want to look at the method for manually creating a page template :)

      Admin

  3. Is there a way to use an existing page (including all its content and images) and use this plugin to remove the menu and title link?

    • We show two plugins in this guide, you can certainly recreate a page using them for what it sounds like you want.

      Admin

  4. Excellent Article!
    Just one question. After you finish the landing page do you still need the plugin in the plugin folder or is it safe to delete after you create the page.

  5. Hello,

    Thank you for the easy tutorial. It worked so well.

    I have one question though. How do you make the custom page you create have its own separate sitemap on the website´s sitemap.xml? Like for example in wpbeginner.com´s sitemap the /hosting-sitemap.xml etc. is it a custom page?

  6. I´ve already done this before and it worked, I know that many things can remove the file from where it was but my problem is that it doesn´t allow me to do it again. When I upload the custom page to the server it doesn´t appear on the template options when editing the page. Does someone knows how to solve this?

    • The most common reason you would want to check is that you haven’t used the same template name and that you’ve uploaded the file to the correct location.

      Admin

  7. How do we change header path, as I have 2 different headers, so in my custom template I want to use other header, please let me know, how to call or bring header

    • That would depend on your specific theme and would require some coding knowledge that would not be beginner-friendly.

      Admin

  8. What happens to your custom templates when you update your theme? Since you’re creating that new template within the theme folder. Will the new template be gone?

  9. Hi,

    I can’t seem to find page.php in wordpress twentytwenty. Any idea where the template file?

    Thanks

  10. I really appreciate your help that’s really exactly what I was looking for, thanks so much!

  11. Hi,

    Great article ! I already create the page template and now I want to make this page only page that does’nt have sidebar when i use this page template. How? Can you help me?

    Thank you.

    • It would depend on your current theme, if you reach out to your theme’s support they should be able to assist

      Admin

  12. Hi-

    So close. I have zipped my php file created in notpad++. The contents are the 1 line of code at the top of this article. I click add new theme and upload the zip file. When I click install it starts ok but ends in error. Can you suggest a fix? How do I add the style.css stylesheet? (Sorry, I’m a newbie!)

    • You would want to go through the article again, this guide is for creating a new page for your current theme not an entirely new theme :)

      Admin

  13. Thanks for this. It was helpful.

    I want to know if there is a way to remove the wordpress header without messing up the page.

    • It would depend on your specific theme for any issues that would cause. You would likely want to test on a local installation or on a staging environment to see if it would break anything.

      Admin

    • Page templates control the area around the content, the editor under Pages>Add New is for the content on the page.

      Admin

  14. Thanks for this tutorial! Is it possible to edit the custom page with Elementor? I get an error “The preview cannot be loaded.”

    • You may need to recreate the custom page template with Elementor or reach out to Elementor’s support and they should be able to assist :)

      Admin

  15. Hi – my problem is the template dropdown menu does not display. The theme displays only: Page attributes / parent / order — whereas I need it to display: Page attributes / parent / Template / order. Do you know how I can get the templates dropdown to display?

    • Your theme may not have page templates by default as otherwise, they would be under the Page Attributes section.

      Admin

  16. thank you admin for always writing great articles on WordPress and SEO.i have a question to ask i hope you help me.

    Can we use PHP, Osclass Or Other themes in a WordPress Created classified website?

    Thanks

  17. Please, i need your assistance, i have my website build myself but i am having issues which i know you can help me cause i built my site watching all your videos and article. i want to create the home page then use the home on my MENU on my website so that when people finish reading an article and they want to return home they can easily click on home and return to the home page. please, i need your help on this.

    • If you’re using the block editor then you would want to ensure you’re editing the document. If it is not displaying correctly then you would want to double check the file name and that the file was correctly added to your files.

      Admin

  18. Hi, maybe a stupid question but do I have to create a child theme for this? Or is it protected from theme updates because it is a separately built page?

    • It would be best to use a child theme for this as it would be a file not found in the most recent version of the theme when you’re updating

      Admin

  19. Hi! And thanks for your incredibly helpful and resourceful page! I’ve read lots of articles and learned a lot around your site :)

    Using your guide I created my custom page for my “blog” section (page with the most recent posts that doesn’t have the slider or other features that the Home page has).

    My website is bilingual, so I’d like to translate this custom page to my second language… and I can’t find the way to do it.

    Your help would be much appreciated.

    Thanks in advance!

    • You can add an HTML page to the website but I wont be a part of the theme. It has to be a .PHP to be part of the theme.

  20. I had the same problem. Try another theme, and make sure you upload the file in the right directory. You can see the directory on top when you add a sample page.

    • at the top you see screen options just click on it and check the box says page attributes and now you can see template option

  21. Nice and helpful instructions, but i want to load template from my plugin, when i add the .php file inside my plugin wordpress not showing the drop down .

  22. Thank you!!! This is so clear and simple and straight forward. I was able to set up a new page temple in under 5 min. I really appreciate what you guys do – and whoever did this video has a great voice and speaks very well for instructions.

  23. Thanks a lot for this, this post helped while i was creating a custom them which needed me to create a number of custom pages. thumbs up for this!

  24. Great tutorial!

    I love to see how do you have to create custom pages :) Like table ( flex-wrap with div or about page.

    I already made AboutMe-Page with css-embedded picture and more custom pages. That is really excellent! WordPress makes us rich, right?

    WordPress is like darling / sweetheart :P Because we want make our blog-websites with money from internet.

    And how do I fix contactform of WPForm? Why does WPForm not send e-mail to my google mail. I want try if it works.

    Thanks for nice explanations with your nice videos. I am really happy because you save my life and make me reality.

    Best kind regards,

    Jens Eckervogt

  25. Are plugins compatible with custom page templates?

    For example, if I were to add custom content directly to my page template via a text editor, then upload and select it for the appropriate page (say contact page), how would a plugin (say a contact form), be placed into the custom page?

    Thanks

  26. Hi I’m converting HTML template to WORDPRESS,in the i have nave menu like Home,About Us,Courses,Gallery etc,i’m not getting anything when i click on these pages,please help me out

  27. Hey.. I needed this to create a page with no header and footer etc different to my template and with a little tweaking it worked perfeclty. Great. Thanks, P

  28. Hello, Thanks Wpbeginner for all the tutorials. With your tutorials I build a website for the very first time by myself and its going great. I learned so much from you guys.

  29. Hey i want to make a WordPress page that goes like this : domain.com/something/PageHere

    I cant do that by edditing the permalink, any advice?

  30. Hi i have create a wordpress theme from scratch I create a new template call custom template it’s work but when I create a new page in admin panel the content of text does not show but it dispay only the header and footer of my new page.

    Any idea please.

    Thank you!

  31. Good :) And also happy to see that One from Pakistan Helping the word :)

    I’m really getting grounded but this post is very excellent

    thanks

  32. 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?

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.