WPBeginner

Beginner's Guide for WordPress

  • Blog
    • Beginners Guide
    • News
    • Opinion
    • Showcase
    • Themes
    • Tutorials
    • WordPress Plugins
  • Start Here
    • How to Start a Blog
    • Create a Website
    • Start an Online Store
    • Best Website Builder
    • Email Marketing
    • WordPress Hosting
    • Business Name Ideas
  • Deals
    • Bluehost Coupon
    • SiteGround Coupon
    • WP Engine Coupon
    • HostGator Coupon
    • Domain.com Coupon
    • Constant Contact
    • View All Deals »
  • Glossary
  • Videos
  • Products
X
☰
Beginner's Guide for WordPress / Start your WordPress Blog in minutes
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

WPBeginner» Blog» Tutorials» How to Display a List of Child Pages For a Parent Page in WordPress

How to Display a List of Child Pages For a Parent Page in WordPress

Last updated on November 8th, 2020 by Editorial Staff
81 Shares
Share
Tweet
Share
Pin
Free WordPress Video Tutorials on YouTube by WPBeginner
How to Display a List of Child Pages For a Parent Page in WordPress

Recently one of our readers asked us how to display child pages of a WordPress page?

If you organize your WordPress website with parent and child pages, then you may want to display your child pages or sub pages on the main parent page. You may also want to show the main page on each sub page for easy browsing.

In this article, we will show you how to easily display a list of child pages for a parent page in WordPress.

Displaying a list of child pages for a parent page in WordPress

When You Need to Show a List of Child Pages?

WordPress comes with two default post types called posts and pages. Posts are blog content, and they are usually organized with categories and tags.

Pages are one-off or standalone content that are evergreen such as ‘About us’ page or ‘Contact us’ page.

In WordPress, pages can be hierarchical which means you can organize them with parent and child pages.

For instance, you may want to create a product page with child pages for Features, Pricing, and Support.

To create a child page, follow our guide on how to create a child page in WordPress.

After you have created your parent and child pages, you may want to list child pages on the main parent page.

Now an easy way to do this is by manually editing the parent page and add a list of links individually.

Manually add child page links

However, you’ll need to manually edit the parent page each time you add or delete a child page. Wouldn’t it be nicer if you could just create a child page and it would automatically appear as a link on the parent page?

That being said, let’s take a look at some other dynamic ways to quickly display a list of child pages on the parent page in WordPress.

Method 1. Display Child Pages on Parent Page using a Plugin

This method is easier and recommended for all users.

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

Upon activation, you need to edit the parent page and simply add the following shortcode where you want to display the list of child pages.

[subpages]

You can now save your page and preview it in a new browser tab. You’ll notice that it displays a simple bulleted list of all the child pages.

Plain list of child page links

If you want, you can add some custom CSS to change the appearance of the list. Here is some sample CSS you can use as a starting point.

ul.page-list.subpages-page-list {
    list-style: none;
    list-style-type: none;
    background-color: #eee;
    border: 1px solid #CCC;
    padding: 20px;
}

After applying your custom CSS you can preview the parent page. This is how it looked on our test WordPress website.

Child pages list with CSS

The plugin provides a bunch of shortcode parameters that allow you to set depth, exclude pages, number of items, and more. For details, please see the plugin’s page for detailed documentation.

Method 2. List Child Pages for a Parent Page using Code

This method is a bit advanced and requires to you add code to your WordPress website. If you have not done this before, then please take a look at our guide on how to copy and paste code in WordPress.

To list child pages under a parent page, you need to add the following code in a site-specific plugin, or in your theme’s functions.php file:

function wpb_list_child_pages() { 

global $post; 

if ( is_page() && $post->post_parent )

	$childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
else
	$childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );

if ( $childpages ) {

	$string = '<ul class="wpb_page_list">' . $childpages . '</ul>';
}

return $string;

}

add_shortcode('wpb_childpages', 'wpb_list_child_pages');

The code above first checks to see if a page has a parent or the page itself is a parent.

If it is a parent page, then it displays the child pages associated with it. If it is a child page, then it displays all other child pages of its parent page.

Lastly, if this is just a page with no child or parent page, then the code will simply do nothing. In the last line of the code, we have added a shortcode, so you can easily display child pages without modifying your page templates.

To display child pages simply add the following shortcode in a page or text widget in the sidebar:

[wpb_childpages]

Don’t forget to save your changes and preview them in a browser tab. This is how it appears on our test site.

Plain link list

You can now style this page list using some custom CSS. Here is some sample CSS code you can use as a starting point.

ul.wpb_page_list {
    list-style: none;
    list-style-type: none;
    background-color: #eee;
    border: 1px solid #CCC;
    padding: 20px;
}

Method 3. Dynamically Display Child Pages Without Any Shortcode

Using shortcodes is convenient, but the problem with them is that you will have to add shortcodes in all pages that have parent or child pages.

You may end up having shortcodes in lots of pages, and sometimes you may even forget to add it.

A better approach would be to edit the page template file in your theme, so that it can automatically display child pages.

To do that, you need to edit the main page.php template, or create a custom page template in your theme.

You can edit your main theme, but those changes will disappear if you change or update your theme. That’s why it would be better if you create a child theme and then make your changes in the child theme.

In your page template file, you need to add this line of code where you want to display child pages.

<?php wpb_list_child_pages(); ?>

That’s all. Your theme will now automatically detect child pages and display them in a plain list.

You can customize the styles with CSS and formatting. Here’s an example of how OptinMonster website shows the parent page and sub pages:

OptinMonster Sub Pages Example

We hope this article helped you list child pages for a parent page in WordPress. You may also want to see our guide on the most important pages to create on a new WordPress website, and our comparison of the best drag & drop WordPress page builders to create custom layouts without any code.

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.

81 Shares
Share
Tweet
Share
Pin
Popular on WPBeginner Right Now!
  • How to Fix the Error Establishing a Database Connection in WordPress

    How to Fix the Error Establishing a Database Connection in WordPress

  • Checklist

    Checklist: 15 Things You MUST DO Before Changing WordPress Themes

  • How to Properly Move Your Blog from WordPress.com to WordPress.org

  • Revealed: Why Building an Email List is so Important Today (6 Reasons)

    Revealed: Why Building an Email List is so Important Today (6 Reasons)

About the Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Trusted by over 1.3 million readers worldwide.

The Ultimate WordPress Toolkit

78 Comments

Leave a Reply
  1. Sachit Shori says:
    Sep 15, 2020 at 7:31 am

    Thank you so much. You saved me.

    Reply
    • WPBeginner Support says:
      Sep 16, 2020 at 1:14 pm

      You’re welcome :)

      Reply
  2. Emmanuel Husseni says:
    Oct 25, 2019 at 6:08 am

    Hello Wpbeginner,

    Please how can i sort all the child page alphabetically on the parent page. I’ve follow all step but the sub pages are showing randomly on the parent page.

    Waiting for response. ….Thanks

    Reply
    • WPBeginner Support says:
      Oct 25, 2019 at 9:56 am

      You would change the two instances of menu_order in our code to be: post_title

      Reply
  3. Iyke O. says:
    Aug 22, 2019 at 5:29 am

    How do I make the list collapsible on sidebar.

    Reply
    • WPBeginner Support says:
      Aug 22, 2019 at 10:00 am

      To make it collapsable you could use an accordion plugin such as one of the ones from our article here: https://www.wpbeginner.com/showcase/best-wordpress-accordion-plugins/

      Reply
  4. Stacie says:
    Apr 1, 2019 at 10:24 am

    Easy to follow and did the job. Thanks so much for sharing!

    Reply
    • WPBeginner Support says:
      Apr 1, 2019 at 1:58 pm

      You’re welcome, glad our content could be helpful :)

      Reply
  5. Aaro says:
    Mar 26, 2019 at 4:52 am

    Can I assign a css class to this function? So that when I make css changes to ul elements it wouldn’t affect other ul’s on the site.
    Or any other simple solution for this?

    Reply
    • WPBeginner Support says:
      Mar 26, 2019 at 11:56 am

      You could add your CSS class in the ul section of the function :)

      Reply
  6. Keshav Murthy says:
    Jan 9, 2019 at 4:48 am

    Hi, WPB Team,

    Thank you so much for this Snippet and the tutorial.

    It saved my ton of time and helped me too.

    With Warm Regards,
    Keshav Murthy

    Reply
    • WPBeginner Support says:
      Jan 9, 2019 at 11:40 am

      Glad our tutorial could help :)

      Reply
  7. Gary Granai says:
    Nov 19, 2018 at 11:22 am

    I installed the plugin code snippets in wordpress 4.9.8

    I copied the code on https://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond and added it to a new snippet in code snippets.

    I made a page and then a page which was given the attribute of having the first page as the parent page.

    The child parent relationship is shown in the list of pages in the attributes drop down.

    When I open the parent page I see nothing that shows a child page.

    I then tried using the functions.php page.

    I added the code copied from https://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond to the bottom of the code on the functions page.

    When I open the parent page, I it does not display. What displays is an error message saying there is unexpected code.

    I restored the functions.php page to its original statuc.

    What changes must I make to what I have tried to do.

    Reply
    • WPBeginner Support says:
      Nov 20, 2018 at 2:31 pm

      Hi Gary,

      Make sure that you publish the child page before testing the code. Also carefully copy the code again to make sure that you are not copying the numbers or any unexpected characters.

      Reply
  8. Itika says:
    Nov 15, 2018 at 4:49 am

    I have a question. I have added sub pages in parent page but when I am opening the site in mobile and clicking on parent page it opens the empty parent page. To view the drop down sub pages one have to hold the button of parent page. How can I fix it. I don’t want that empty page to open. I want that if we touch on parent page it opens the drop down menu.
    Please suggest how to do it.

    Reply
  9. Denise says:
    Sep 21, 2018 at 5:42 pm

    For third level pages (grandchild), I want to show the same menu that is seen on the child pages (all the child links of the parent). With this snippet, when on a grandchild page, I only see the other grandchild pages in the menu. How would this code need to be modified to show the all child links even when on grandchild pages?

    Reply
  10. vicky says:
    Jul 22, 2018 at 4:39 pm

    how to get child page ids not the granchild ids…………….pls help im a bigginner

    Reply
  11. Meredith L says:
    Jun 20, 2018 at 10:36 pm

    I’m relatively new to blogging and I recently switched over to the Kale WordPress theme. I have been trying to do page attribute pages (under the parent page Recipes) so I can have separate categories for appetizers, desserts, etc. Everything seems to go through on the admin part but then on the site itself there are no page attributes/drop down form the Recipes category. What am I doing wrong? It is all set to public so I’m not sure what the problem is.

    Reply
  12. Daves says:
    Jun 19, 2018 at 5:20 pm

    Thank you for this code. But I don’t want this to be shown on the homepage (static page), just on the parent pages only. Please how can it be done?

    Thank you.

    Reply
  13. Boris Budeck says:
    Jan 5, 2018 at 2:43 pm

    I am using Generatepress Theme (created a child theme from it for customizing) and I can’t get this to work. The shortcode is displayed in the output page, it seems it is not even ercognized as being a shortcode. I use Elementor widgets and neither text nor shortcode widgets work.

    Any idea of how to make it work when using elementor widgets?

    Reply
    • WPBeginner Support says:
      Jan 5, 2018 at 9:58 pm

      Hi Boris,

      Please try adding this code to your theme’s functions.php file or a site-specific plugin.

      add_filter('widget_text', 'do_shortcode');
      
      Reply
  14. Frederic says:
    Dec 30, 2017 at 1:05 pm

    a great post, it’s exactly what I’m looking for since many hours ! and it works like a charm, just adding the code in the function.php of the theme then adding the short code in the page where I want the sub pages to appear, and voilà!!!
    wonderful, thanks a lot for your generosity !!

    Reply
    • WPBeginner Support says:
      Dec 30, 2017 at 5:18 pm

      Hi Frederic,

      Glad you found it useful :) You may also want to subscribe to our YouTube Channel for more WordPress video tutorials.

      Reply
  15. Mariano says:
    Nov 17, 2017 at 3:15 pm

    Hi!

    Thanks for the code. How can I display the featured image of each child page?

    Reply
  16. Ron says:
    Aug 31, 2017 at 12:02 pm

    Like with so many of the snippets we find, one has to go through all the comments in order to get it to work. What’s wrong with testing what you write?

    Reply
  17. Alicia says:
    Aug 29, 2017 at 8:32 pm

    Can you do a drop down menu for parent/child pages on wordpress.com, or does it have to be the .org version?

    Reply
  18. Razvan says:
    May 5, 2017 at 7:22 am

    What if I want to display child posts, not child pages?

    Reply
  19. Rudy says:
    Apr 11, 2017 at 12:18 am

    Using this code ends up displaying the parent page along with the child pages, which is redundant. As I understand it, what we really need is to display only the child pages, not the parent page. Any suggested modification that can do this?

    Reply
  20. Michael Feske says:
    Mar 14, 2017 at 7:51 am

    Great, but it works not :-(

    add_shortcode is correct or must it be add_filter https://www.wpbeginner.com/wp-tutorials/how-to-use-shortcodes-in-your-wordpress-sidebar-widgets/ ?

    with add_shortcode is error Fatal error: Uncaught Error: Call to undefined function add_shortcode()
    with add_filter is no error but it works nort

    Reply
  21. Milos says:
    Jan 9, 2017 at 7:54 am

    On plugins update, for some strange reason I always get an error:

    Fatal error: Cannot redeclare wpb_list_child_pages() (previously declared in …/wp-content/themes/pagelines/functions.php:25) in …/wp-content/themes/pagelines/functions.php on line 34

    Reply
  22. Jeffrey Fry says:
    Oct 27, 2016 at 6:55 pm

    How can you also display the date of the child page?

    Reply
  23. ethann says:
    Sep 8, 2016 at 11:28 am

    Hello great article,
    Can you please help me creating a dropdown of child pages in parent page.I need this functionality for one of my wordpress project and i am totally newbie to wordpress.

    Reply
  24. Alex says:
    Aug 18, 2016 at 3:17 pm

    Am I the only one that cannot get it to work?

    I have the following structure

    About
    — Page 1
    — Page 2
    — Page 3

    When on the “About” or a child page (1, 2 or 3) I would like to have a list with my parent page (About) and all children (1, 2, 3) – Anyone got that working?

    Thanks! :)

    Reply
    • Kendra says:
      Sep 16, 2016 at 4:40 pm

      OMG sorry this is annoying Please ignore my other posts. Didn’t realize you couldn’t paste code into the comments.

      I was NOT able to get it to work with wpb_list_child_pages();

      I WAS able to get it to work with echo do_shortcode( ‘[wpb_childpages]’)

      And to get the title of the parent page, i inserted this above the child page list:
      $current = $post->ID;

      $parent = $post->post_parent;

      $grandparent_get = get_post($parent);

      $grandparent = $grandparent_get->post_parent;

      PHP if ($root_parent = get_the_title($grandparent) !== $root_parent = get_the_title($current)) {echo get_the_title($grandparent); }else {echo get_the_title($parent);

      Reply
  25. Jean Bishop says:
    May 24, 2016 at 11:22 am

    I am using this code and it works great. Is it possible to also display categories in menus along with pages?

    Reply
  26. Michelle says:
    Mar 2, 2016 at 7:36 am

    Hi,

    I want to do the following

    Parent page must be either for sale and or for rent
    Then I want the child for example a province (gauteng) to link to the for sale and the for rent parent.
    How do I do that?

    Michelle

    Reply
  27. Zakhar says:
    Feb 14, 2016 at 10:09 am

    How can i create shortcode with param, for example, [wpb_childpages id=”1″], where id=”1″ is an id of parent page?

    Reply
  28. Strand says:
    Oct 9, 2015 at 9:11 am

    Hi,

    Is it possible to limit the links to a specific number such as maximum 12 child pages?

    Thanks

    Reply
  29. Aander says:
    Oct 3, 2015 at 3:39 pm

    Thank you,

    Could you explain, please, how can I organize child pages in drop down list that would be accessible through the parent page? (I don’t want the visitors could see all child pages in a form of a blogroll.)

    I.e., on the parent page I want to create drop down list (listbox) to which child pages would be added in predefined order (say in alphabetical order). After reading Introduction a visitor can proceed by choosing any page from the list at her wish (child pages has no logical connection so in any case she will search the exact page).

    Is ‘my dream’ realizable?

    Thank you again.

    Reply
  30. Quantum-mecha says:
    Sep 28, 2015 at 1:13 pm

    How do I add pagination for Child Page?

    Thanks!

    Reply
  31. Astrid says:
    Sep 23, 2015 at 2:06 pm

    Hi WPBeginner Staff,

    I used the code you guys provided with the “short code option” and it worked (links to child pages). However, I wanted to use the permanent option, and that didn’t work.

    When I added this line of code [ ] the parent page returns a 500 error and no child pages are displayed at atll.

    What am I doing wrong?

    On a side note if I wanted to display and excerpt with its respective image how would I go about it? Thanks!

    Reply
    • Astrid says:
      Dec 7, 2015 at 5:31 pm

      I was able to figure this out.

      I added the code snippet then added this shortcode [wpb_childpages] to the parent page where I wanted the child pages displayed. Awesome!

      Now in order to display excerpts and an image would I use the same queries– just like posts under a category.

      Thanks in advance :)

      Reply
      • Jade says:
        May 24, 2016 at 9:53 am

        Hey I was wondering what you meant by ‘query’? How exactly did you get the excerpts and images to display in the parent page?

        Thanks!

        Reply
  32. Mehar says:
    Sep 7, 2015 at 10:09 pm

    Really useful. Thank you.

    Reply
  33. Pradeep says:
    Jul 13, 2015 at 9:53 am

    Could someone confirm that the example page used in this tutorial http://optinmonster.com/how-it-works/ uses this feature or not? To me it looks like it they are using tabs, instead of child pages.

    If I’m right, could someone direct me to a resource to get that feature, as I’m desperately looking for a fluid solution like the one they have in that page?

    Many thanks,

    Pradeep

    Reply
  34. Andrew Roberts says:
    Jul 1, 2015 at 1:51 am

    For the non-shortcode option, you might want to let users know they need to either change
    return $string; to
    echo $string; or
    in their page template echo out the function
    echo page_list_child_pages();

    Thanks to Erik for pointing this out above

    Reply
    • Meredith Adams says:
      Feb 18, 2016 at 12:16 am

      Thank you!

      Reply
    • Gaby says:
      Jul 4, 2016 at 1:15 am

      Thank you! I was wondering why the code wouldn’t work…

      Reply
  35. Howard says:
    May 25, 2015 at 5:47 am

    Hi, I can get this to work when I am visiting my domain with a subdirectory (e.g – example.com/home) but when viewing the site without this (example.com) the list of sub pages is not listed. Can anyone point me as to where I am going wrong?

    Thanks in advance – very new to WordPress.

    Reply
  36. Emily Jennewein says:
    May 23, 2015 at 8:23 pm

    How do you get this function to display the parent page itself at the top of the list along with the list of child and grandchild pages? On the child pages it does not list the parent page.

    Reply
  37. Michael says:
    Apr 24, 2015 at 4:24 am

    how can i customized this to just display the child page of a specific page?

    Reply
  38. Yester says:
    Apr 13, 2015 at 5:29 am

    How do u add a active class on the current ?

    Reply
  39. Jenny says:
    Mar 25, 2015 at 11:06 pm

    Is there now a plugin that can do same ?

    and also can we decide where the box with submenus pages will go in any are of the page not just top of page? Using a plugin

    Reply
  40. WPBeginner Staff says:
    Mar 12, 2015 at 8:58 pm

    Yes it can be used for custom post types. Like this:


    function wpb_list_child_pages() {

    global $post;

    if ( 'movie' == get_post_type() && $post->post_parent )

    $childpages = wp_list_pages( 'post_type=movie&sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
    else
    $childpages = wp_list_pages( 'post_type=movie&sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );

    if ( $childpages ) {

    $string = '' . $childpages . '';
    }

    return $string;

    }

    add_shortcode('wpb_childpages', 'wpb_list_child_pages');

    Reply
  41. Daniela says:
    Mar 9, 2015 at 7:22 pm

    This is great! Is there a way to do the same for Custom Post Types that have child posts?

    Reply
    • Caroline says:
      Sep 3, 2015 at 9:40 am

      Also wondering!

      If anyone knows, please help!

      Reply
  42. dpc says:
    Mar 9, 2015 at 7:13 pm

    Is there a way to modify this in order to print custom post type child posts on a custom post type post page? Thanks, it is very handy!

    Reply
  43. Sokeara says:
    Mar 5, 2015 at 10:50 pm

    It’s very greate for me! Anyways I would like to know how can I display title and thumbnail of child page to parent page.

    Reply
    • Ashley Bell says:
      Aug 14, 2015 at 10:01 am

      Hi, I have the same query. I really like how the list is styled on the Beginners Blueprint page but I have no idea how to start. Can someone recommend an article to read or give some advice, thanks.

      Reply
  44. Razvan Zamfir says:
    Dec 22, 2014 at 5:55 am

    Hello!
    Nice snippet, but how do I list only grandchild pages?
    Thank you!

    Reply
  45. amitabha197 says:
    Dec 14, 2014 at 3:28 am

    There is an error in the pages which are not having child pages so I have slightly modified
    if( count($childpages) != 0 ) {
    $string = ” . $childpages . ”;
    }

    instead of
    if( $childpages ){
    $string = ” . $childpages . ”;
    }

    Reply
  46. WPBeginner Staff says:
    Jul 24, 2014 at 1:05 am

    In order to execute a shortcode in WordPress templates you need to add it like this:

    Reply
    • Matt Rock says:
      Aug 21, 2014 at 11:26 am

      I couldn’t get the template code “wpb_list_child_pages();” to work, but echo shortcode did the trick. Cheers!

      Reply
      • Erik says:
        Oct 14, 2014 at 3:14 pm

        Just change the “return $string” to “echo $string” (this will print out the pages).

        Reply
        • fariha says:
          Jun 19, 2015 at 9:51 am

          thanks, it worked

  47. Coen Siebenheller says:
    Jul 21, 2014 at 2:52 pm

    I’ve added the code to the functions.php and when i add the [wpb_childpages] shortcode in side my text it works. But when try to add to one of my templates it doesn’t show a thing. Anybody knows what i’m doing wrong?

    Reply
  48. Elena Rapisardi says:
    Jul 13, 2014 at 8:45 am

    Great explanation!!
    Is there a way to display always the parent pages?

    Reply
  49. Quin says:
    Apr 25, 2014 at 6:20 am

    This is brilliant, thanks.

    Is there a way to adapt it so the Parent displays the Grandchild, and not the Child?

    Reply
  50. Dejan says:
    Apr 24, 2014 at 11:53 am

    Great function , thanks !

    Reply
« 1 2

Leave a Reply Cancel 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.

Over 1,320,000+ Readers

Get fresh content from WPBeginner

Featured WordPress Plugin
Smash Balloon
Smash Balloon
Add Custom Social Media Feeds in WordPress. Learn More »
How to Start a Blog How to Start a Blog
I need help with ...
Starting a
Blog
WordPress
Performance
WordPress
Security
WordPress
SEO
WordPress
Errors
Building an
Online Store
Useful WordPress Guides
    • 7 Best WordPress Backup Plugins Compared (Pros and Cons)
    • How to Fix the Error Establishing a Database Connection in WordPress
    • Why You Need a CDN for your WordPress Blog? [Infographic]
    • 30 Legit Ways to Make Money Online Blogging with WordPress
    • Self Hosted WordPress.org vs. Free WordPress.com [Infograph]
    • Free Recording: WordPress Workshop for Beginners
    • 24 Must Have WordPress Plugins for Business Websites
    • How to Properly Move Your Blog from WordPress.com to WordPress.org
    • 5 Best Contact Form Plugins for WordPress Compared
    • Which is the Best WordPress Popup Plugin? (Comparison)
    • Best WooCommerce Hosting in 2020 (Comparison)
    • How to Fix the Internal Server Error in WordPress
    • How to Install WordPress - Complete WordPress Installation Tutorial
    • Why You Should Start Building an Email List Right Away
    • How to Properly Move WordPress to a New Domain Without Losing SEO
    • How to Choose the Best WordPress Hosting for Your Website
    • How to Choose the Best Blogging Platform (Comparison)
    • WordPress Tutorials - 200+ Step by Step WordPress Tutorials
    • 5 Best WordPress Ecommerce Plugins Compared
    • 5 Best WordPress Membership Plugins (Compared)
    • 7 Best Email Marketing Services for Small Business (2020)
    • How to Choose the Best Domain Registrar (Compared)
    • The Truth About Shared WordPress Web Hosting
    • When Do You Really Need Managed WordPress Hosting?
    • 5 Best Drag and Drop WordPress Page Builders Compared
    • How to Switch from Blogger to WordPress without Losing Google Rankings
    • How to Properly Switch From Wix to WordPress (Step by Step)
    • How to Properly Move from Weebly to WordPress (Step by Step)
    • Do You Really Need a VPS? Best WordPress VPS Hosting Compared
    • How to Properly Move from Squarespace to WordPress
    • How to Register a Domain Name (+ tip to get it for FREE)
    • HostGator Review - An Honest Look at Speed & Uptime (2020)
    • SiteGround Reviews from 4196 Users & Our Experts (2020)
    • Bluehost Review from Real Users + Performance Stats (2020)
    • How Much Does It Really Cost to Build a WordPress Website?
    • How to Create an Email Newsletter the RIGHT WAY (Step by Step)
    • Free Business Name Generator (A.I Powered)
    • How to Create a Free Business Email Address in 5 Minutes (Step by Step)
    • How to Install Google Analytics in WordPress for Beginners
    • How to Move WordPress to a New Host or Server With No Downtime
    • Why is WordPress Free? What are the Costs? What is the Catch?
    • How to Make a Website in 2020 – Step by Step Guide
Deals & Coupons (view all)
Churnly Coupon
Get 30% OFF on Churnly WordPress automated churn-busting plugin.
AccessPress Themes
AccessPress Themes Coupon
Get 15% off on AccessPress Themes collection of premium WordPress themes and plugins.
Featured In
About WPBeginner®

WPBeginner is a free WordPress resource site for Beginners. WPBeginner was founded in July 2009 by Syed Balkhi. The main goal of this site is to provide quality tips, tricks, hacks, and other WordPress resources that allows WordPress beginners to improve their site(s).
Join our team: We are Hiring!

Site Links
  • About Us
  • Contact Us
  • FTC Disclosure
  • Privacy Policy
  • Terms of Service
  • Free Blog Setup
  • Free Business Tools
Our Sites
  • OptinMonster
  • MonsterInsights
  • WPForms
  • SeedProd
  • Nameboy
  • RafflePress
  • Smash Balloon

Copyright © 2009 - 2021 WPBeginner LLC. All Rights Reserved. WPBeginner® is a registered trademark.

Managed by Awesome Motive | WordPress hosting by SiteGround | WordPress CDN by MaxCDN | WordPress Security by Sucuri.