If you want to display some on-sale products in a promotion campaign only, this series can be useful for your e-commerce website. In this practice, we’re going to show posts with specific criteria that is the on-sale status using Meta Box and Breakdance.

I did an archive page as an example. This page will display only the dishes which are on sale.

example of an archive page displays products on sale

Video Version

Before Getting Started

The products will be the dishes which are posts of a custom post type. In addition to the basic information of the dishes such as the name, description and the image of the dish, there may be some extra information. They’ll be saved in custom fields.

In this case, I have two fields in order to save the original price and the promotional price. The value stored in these 2 fields will be set to the condition to choose which dishes will be displayed. Only one that has the promotional price is on sale and will be displayed on the page.

In this practice, we need these tools:

  • Meta Box core plugin: to have a framework to create custom post types and custom fields;
  • MB Custom Post Types: to create a custom post type for your products;
  • Meta Box Builder: to have an intuitive UI to create custom fields in the backend;
  • MB Admin Columns (optional): to display custom fields as an admin column to know exactly which one will be shown on the page;

And the last one, I use Breakdance to build the page.

Create a New Custom Post Type

Go to Meta Box > Post Types > Add New to create a new post type for your products. Here I name it Cuisines.

create a new custom post type in Meta Box

Then you’ll see a menu like this. It’s your post type.

new custom post type for cuisines

Create Custom Fields

I’ll create 2 fields as an example. As I mentioned, the value stored in these 2 fields will be set to the condition to choose which dishes will be displayed.

You also can add some other custom fields to save more information about your product, and display them on the page in the same way.

created custom fields for extra information of products

If you want to clearly see which products are having promotion, you can set both these fields displayed as admin columns like this.

Show created fields as admin columns

Do it by checking this box in both fields’ settings.

Set the custom fields as show as admin column

You’ll have this setting only when you enable the MB Admin Columns extension.

After creating all the fields, move to the Settings tab > set Location as Post type > select Cuisines to apply these fields to it.

Set the location for the created fields

Now, you’ll see all the created custom fields when creating a new post in Cuisines post type.

all the created custom fields appear in the post editor

Create a Global Block

With Breakdance, you should create a global block to get and display wanted information from a post first, then use this global block to display them anywhere on your site.

Go to Breakdance > Global Blocks then create a new one.

create a new global block

Remember to set a post for live preview in order to easily see how it will display.

set a post for live preview

First, add a Div element to cover the block.

add a Div element to cover the block

Set the Condition

We should create a condition in this element to choose which posts will be displayed, in this case which ones have promotion. Go to the settings of the Div element, you will see the Conditions section to add a new one.

set the condition

In the setting of the Conditions, choose Dynamic Data from the list to set the condition based on the data saved in custom fields.

choose Dynamic Data to set the condition based on the data saved in custom fields

Since just posts which have any value in the promotional price will be displayed, choose the field here.

Choose the field

Then change the operation to is not empty. That’s all for the condition.

complete the condition

Display the Products Information

Just add some reasonable elements to get product information from the posts.

Add the Post Featured Image element. It’ll display immediately.

Add the Post Featured Image element

Next, I use a Div element to group all the rest information for easier styling.

add Div element to group all the rest information

Add the Post Title element for the dish’s name.

Add the Post Title element for the product’s name

Then, add another Div the group of the original price and promotional price.

add Div the group of the original price and promotional price

For the original price, add a Text element, then insert dynamic data from the field to it.

add a Text element and insert dynamic data from the field

You also can add the prepend and append text for having the unit price in the Advanced tab.

add the prepend and append text in the Advanced tab

Next, add another Text element for the promotional price, then get data from the corresponding field in the same way as the original price.

Add Text element and get data for promotional price

Finally, add the Post Content element for the description of the dish.

add the Post Content element for the product's description

That’s all the things I want to display in the block.

all of the product's information displayed

Create the Page

Go to Pages > Add New to create a new page as usual.

create a new page

Then choose Breakdance > Template > Add Template to create a custom template for it.

create a custom template in breakdance

Set the Location of the template as Single/Pages, and add the condition as follows.

set the location for the page and add condition

In the template editor, add a Section element first to cover all the page content.

add a Section element first to cover all the page content

For the page title, add the Post Title element.

add the Post Title element

Next, to display the posts, we should use the Post Loop Builder element. It allows us to display multiple posts at once.

add the Post Loop Builder element to display the post

Set the Global Block as the one we’ve just created.

Set the Global Block

There'll be nothing displayed. Just go to the Query section, edit the query to set the post types that we want to get posts from as Cuisines.

Add the Query and set the source of post which we get

Now, there’re some posts displayed exactly as we set in the created global block.

You may think that just the posts that have value in the promotional price are displayed in this page now because we set the condition in the global block to get them. But, it’s not like that. When changing the layout a little bit, you will see some blank blocks like this.

blank blocks

It’s weird!

Even when you check the page on the frontend, they do not disappear. It simply is the place for the posts that didn’t meet our condition. The posts’ information won’t display, but they still have their own space.

To remove them, add a Code Block to the template and input following JavaScript code into it.

add a Code Block to the template

input JavaScript code

jQuery('.ee-post').filter(function() {
return jQuery(this).text().trim() == ""
}).remove();

Now, the void disappears.

the void disappears

Style the Page

If you want to style the display of the post information, go back to edit the global block. Change the settings of each element in the Style tab to get the wanted look.

style tab

For the layout, go to the template editor and do the same.

After styling, you’ll see the new appearance.

The final look

Last Words

We’ve gone through all the detailed steps to show posts with specific criteria using Meta Box and Breakdance. Let’s try it out and share the results with us. If you have any suggestions about which tutorial we should make, feel free to leave your comment below. Thanks for reading!

Other case studies you might be interested in

  1. Create A Dynamic Landing Page in WordPress Using Custom Field
  2. Create a Filter to Find Hotels by Location
  3. Create an OTA Website Like Booking.com with Meta Box Plugin - P1: Create a Page to Introduce Hotel Rooms
  4. Create an OTA Website Like Booking.com with Meta Box Plugin - P2: Create Filters on the Archive Page
  5. Create an OTA Website Like Booking.com with Meta Box Plugin - P3: Create Filters for Single Hotel Pages
  6. Create Dynamic Favicon in WordPress using Meta Box plugin
  7. Create Posts Series in WordPress Using Meta Box
  8. Display The Latest Products Section - P2 - Using Meta Box and Elementor
  9. Display The Latest Products Section - P3 - Using Meta Box And Oxygen
  10. How to Add Custom Fields for WooCommerce - P2 - Using MB Views
  11. How to Add Custom Fields to Display Banners using Meta Box Plugin
  12. How to Add Guest Authors and Guest Posts - Using Meta Box
  13. How to Add Related Posts - Using Custom Fields
  14. How to Build a Hotel Booking Website Using Meta Box - P1
  15. How to Build a Hotel Booking Website Using Meta Box - P2 - Booking Page in Backend
  16. How to Build a Hotel Booking Website Using Meta Box - P4 - Booking Management Page
  17. How to Build a Hotel Booking Website Using Meta Box – P3 – Booking Page for Customer
  18. How to Create a Classified Ads Website using Meta Box
  19. How to Create a Custom 404 Page in WordPress - P1 - Using Meta Box and Elementor
  20. How to create a FAQs page - P5 - Using Meta Box and Breakdance
  21. How to Create a Product Page - P2 - Using Meta Box and Oxygen
  22. How to Create a Product Page - P3 - Using Meta Box and Bricks
  23. How to Create a Product Page - P4 - Using Meta Box and Elementor
  24. How to Create a Product Page - P5 - Using Meta Box and Gutenberg
  25. How to Create a Product Page - P6 -Using Meta Box and Breakdance
  26. How to Create a Product Page - P7 - Using Meta Box + Kadence
  27. How to Create a Product Page - P8 - Using Meta Box and Brizy
  28. How to Create a Product Page - P9 - Using Meta Box and Divi
  29. How to Create a Product Page using Meta Box Plugin
  30. How to Create a Recipe - P2 - Using Meta Box and Oxygen
  31. How to Create a Recipe - P3 - Using Meta Box and Elementor
  32. How to Create a Recipe - P4 - Using Meta Box and Bricks
  33. How to Create a Recipe - P5 - Using Meta Box and Zion
  34. How to Create a Recipe - P6 - Using Meta Box and Brizy
  35. How to Create a Recipe - P7 - Using Meta Box and Breakdance
  36. How to Create a Recipe - P8 - Using Meta Box and Kadence
  37. How to Create a Recipe - P9 - Using Meta Box and Divi
  38. How to Create a Recipe with Meta Box Plugin
  39. How to Create a Simple Listing - P2 - Using Meta Box and Bricks
  40. How to Create a Simple Listing - P3 - Using Meta Box and Breakdance
  41. How to Create a Simple Listing - P4 - Using Meta Box and Elementor
  42. How to Create a Team Members Page - P1- Using Meta Box and Elementor
  43. How to Create a Team Members Page - P2 - Using Meta Box and Oxygen
  44. How to Create a Team Members Page - P3 - Using Meta Box and Bricks
  45. How to Create a Team Members Page - P4 - Just Meta Box
  46. How to Create a Team Members Page - P6 - using Meta Box and Breakdance
  47. How to Create a Team Members Page - P7 - Using Meta Box and Kadence
  48. How to Create a Video Gallery Page - P2 - Using Meta Box + Bricks
  49. How to Create a Video Gallery Page - P3 - Using Meta Box and Breakdance
  50. How to Create a Video Gallery Page - P4 - Using Meta Box + Elementor
  51. How to Create a Video Gallery Page - P5 - Using MB Views
  52. How to Create a Video Gallery Page - P6 - Using Meta Box and Zion
  53. How to Create a Video Gallery Page Using Meta Box + Oxygen
  54. How to Create ACF Flexible Content Field with Meta Box
  55. How to Create an Auto-Updated Cheat Sheet in WordPress
  56. How to Create an FAQs Page - P1 - Using Meta Box and Elementor
  57. How to create an FAQs page - P2 - Using Meta Box and Oxygen
  58. How to create an FAQs page - P4 - Using Meta Box and Bricks
  59. How to Create an FAQs Page - P6 - Using MB Views
  60. How to Create an FAQs Page - P7 - Using Meta Box and Divi
  61. How to Create an FAQs Page - P8 - Using Meta Box and Kadence
  62. How to Create an FAQs Page - P9 - Using MB Blocks
  63. How to Create an FAQs Page -P3- Using Meta Box
  64. How to Create Buttons with Dynamic Link using Custom Fields
  65. How to Create Category Thumbnails & Featured Images Using Custom Fields
  66. How to Create Download and Preview Buttons - P1 - Using Meta Box and Bricks
  67. How to Create Download and Preview Buttons - P2 - Using Meta Box and Oxygen
  68. How to Create Download and Preview Buttons - P3 - Using MB Views
  69. How to Create Download Buttons in WordPress - Using Custom Fields
  70. How to Create Dynamic Landing Page in WordPress - P1 - Using Meta Box and Elementor
  71. How to Create Dynamic Landing Page in WordPress - P2 - Using Meta Box and Bricks
  72. How to Create Menus for Restaurants - P1 - Using Meta Box and Elementor
  73. How to Create Menus for Restaurants - P2- Using Meta Box and Bricks
  74. How to Create Notification Using Custom HTML Field
  75. How to Create Online Admission Form for School or University
  76. How to Create Online Reservation Form for Restaurants using Meta Box
  77. How to Create Relationships - P1 - Using Meta Box and Oxygen
  78. How to Create Relationships - P2 - Using Meta Box and Bricks
  79. How to Create Relationships - P3 - Using MB Views
  80. How to Create Relationships - P4 - Using Meta Box and Breakdance
  81. How to Create Taxonomy Thumbnails & Featured Images - P2 - Using Meta Box and Oxygen
  82. How to Create Taxonomy Thumbnails & Featured Images - P3 - Using Meta Box and Bricks
  83. How to Create Taxonomy Thumbnails & Featured Images - P4 - Using MB Views
  84. How to Create YouTube Video Timestamps on WordPress Website - P1 - Using MB Views
  85. How To Display All Listings On A Map With Meta Box
  86. How to Display Author Bio in WordPress - P1 - Using Meta Box and Bricks
  87. How to Display Author Bio in WordPress - P2 - Using MB Views
  88. How to Display Dynamic Banners in WordPress - P3 - Using MB Views
  89. How to Display Images from Cloneable Fields - P1 - with Gutenberg
  90. How to Display Images from Cloneable Fields - P2 - Using Meta Box and Oxygen
  91. How to Display Images from Cloneable Fields - P3 - with Elementor
  92. How to Display Images from Cloneable Fields - P4 - with Bricks
  93. How to Display Opening Hours for Restaurants - P1 - Using Meta Box + Gutenberg
  94. How to Display Opening Hours for Restaurants - P2 - Using Meta Box and Oxygen
  95. How to Display Product Variations - P1 - Using Meta Box and Gutenberg
  96. How to Display Product Variations - P2 - Using Meta Box and Oxygen
  97. How to Display Product Variations - P3 - Using Meta Box and Bricks
  98. How to Display the Dynamic Banners - P2 - Using Meta Box and Bricks
  99. How to Display The Latest Products - P5 - Using Meta Box and Bricks

Leave a Reply

Your email address will not be published. Required fields are marked *