August 27, 2020

How to create a dynamic blog in WordPress

WordPress Tutorials

the website architect

By

dynamic blog in wordpress

What is a dynamic blog?

A dynamic WordPress blog is a blog that changes or updates depending on the blog posts date, category, or even by random selection.

A dynamic blog can make it more your website more engaging for returning users because it promotes finding new content each time they visit.

Dynamic blog content can be easy to set up in WordPress using the provided website builders’ elements.

How do you create a dynamic blog?

Creating a basic dynamic blog (Any website builder, in 2 minutes!)

You can set up a basic blog with an automatic layout really quickly in WordPress in any theme by creating your own custom blog, or “posts” page. This page will display your recently published posts in most likely a 1, 2, or 3 column layout.

dynamic blog in wordpress
The default blog layout for thewebsitearchitect’s blog

How your blog page ends up looking is dependent on what WordPress theme you are using. Because of this, results may vary for how different it will look from one theme to the next.

To begin make sure you’re logged into the backend of your WordPress website with an Admin account so you can have the permissions necessary to make a new page.

Next, create a new basic WordPress page. This will be our new blog page that will have dynamic content.

In the left WordPress menu, find and click the Pages tab and then the Add New button to make a new page.

creating new page in wordpress
Adding a new page in WordPress

After you’ve clicked the button it will land you on a new blank page. The first input is where you set the page title. Set the page title to be “Blog” or something similar. This title will appear on the frontend of the page when it’s ready. You can change the title whenever you like.

After adding your title, click the blue publish button in the top right to save the page.

You don’t need to put anything in the content area below the title, as the content will be dynamic and generated by your WordPress theme.

Fun fact: This button says publish the first time you make a page, but it will say update when you update the content of the page.

new page in wordpress
Setting the page title saving page
editing reading settings in wordpress

Your page editor may look different than mine in the screenshot above as I’m using the latest version of WordPress’s editor, Gutenberg. As long you set the page title it will work for the following steps.

Now that your page is saved, In the left WordPress menu click on Settings and then Reading.

If you don’t see the left WordPress menu, click on the large WordPress icon in the top left to get back to the dashboard area where you can see the left menu.

When on the reading settings page make sure “A static page (select below)” is checked to be able to set our posts page. Then where it says “Posts page:” select the page you just made. In my case, its the page I made titled Blog.

setting page to be blog in wordpress
WordPress reading settings options

Save the settings and your dynamic blog posts page will have been created! We just have to add it to the WordPress navigation menu to make it live.

To add it to your sites navigation menu go to Appearance > Menus in the left WordPress menu.

Once there add the page to the menu by checking the box next to your page and then clicking Add to Menu.

Fun fact: If you go back to the reading settings you can customize your new blog page by setting how many posts to show at once.

dynamic blog in wordpress

Save the changes, and it should be live! You now should have a fully functioning dynamic blog page that automatically updates when you add a new blog post.

If the page has no content, how does this work? It works because when you set any page to be your Post’s page in the reading settings, it changes the pages content to use an already existing template in your WordPress theme that has to code to generate the dynamic post content.

What if it doesn’t work? No, problem. Follow the steps below according to what page builder your website uses to create a custom dynamic page.

Creating a custom dynamic page

Custom dynamic content in WPBakery

To create your own custom dynamic page using WPBakery is as easy as using the elements provided by the builder.

Start by creating a new page by going to Pages > Add New in the left WordPress menu. Add a title to the new page like “blog” or something similar.

wpbakery adding dynamic content

Next click the Add Element button to open the elements popup. In the search field in the top right, search for “blog” to quickly find the dynamic blog related elements you can add (as shown below).

dynamic elements in wpbakery page builder

Unlike your normal text element, the two elements circled above are dynamic which means it changes depending on what information its pulling from.

In this case it’s pulling from the posts you have on your website. So whenever you publish a new blog post it will automatically be added to the page without you having to add the content yourself.

blog settings in wpbakery

You can see below that after you add the new dynamic element there are options you can use to filter, order, and style the output of the dynamic content. Customization options may vary depending on theme to theme.

That’s it! You then have full functioning dynamic content in WPBakery. You can then adding new blog posts to fill out the dynamic content on the page. If you know how, you can also use CSS to style the page.

Custom dynamic content in Elementor

To add dynamic blog content on a custom page in Elementor, edit a new or existing page in Elementor and use the search function to search for “blog” to get a list of all the dynamic blog related elements.

You can then drag and drop those elements onto the page canvas to setup the content in the way you want.

After you add the new dynamic element there are options you can use to filter, order, and style the output of the dynamic content. Customization options may vary depending on theme to theme.

blog elements in elementor

Unlike your normal text element, the two elements circled above are dynamic which means it changes depending on what information its pulling from.

In this case, it’s pulling from the posts you have on your website. So whenever you publish a new blog post it will automatically be added to the page without you having to add the content yourself.

Custom dynamic content in Divi

Here’s a video by Elegant Themes to better explain how to make dynamic content in the Divi website builder.

Creating a dynamic content with custom PHP

If you are comfortable with programming in PHP, you can use WordPress’s native functions to create a fully customized dynamic blog from scratch.

Different dynamic blog layouts

Using different kinds of elements in your website builder or by custom coding, you can setup different kinds of dynamic layouts rather than just 1, 2, 3 column grid layouts.

Some different possible layouts include:

  • Dynamic blog grid
  • Dynamic blog sliders
  • Dynamic blog carousels
  • Dynamic galleries
  • Dynamic lists of posts

These different layouts can sometimes already be ready for you to add to your website depending on the builder you may have. The builder Elementor usually has the most to offer in this area.

If you comfortable programming in PHP, HTML, CSS, and JS then any dynamic content is possible. The limitations are endless!

How to change specific elements in a dynamic blog layout?

If your page is now set up and you find there are elements that you don’t want to show, you can style it using CSS to get it the way you want.

If your page was set up using an Elementor element then most of the style options can already be done without CSS just by customizing the element. WPBakery has customization options as well, but typically more limited than Elementor’s.

Because explaining CSS can’t be done in a couple of paragraphs, I made a separate post to guide any beginner to learn CSS.

By

the website architect profile picture

I'm The Website Architect, just another web developer in Toronto, Canada. I'm passionate about Web Design, WordPress, and anything to do with websites. My goal is to make the Internet a more beautiful and usable place, one design choice and website at a time.