Continuing the series on showing posts with specific criteria such as products which are on sale, we'll explore a different method, using Meta Box and Zion. Get ready and learn how to do it!

This is an example archive page that only displays the dishes 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. These dishes will contain essential details such as name, description, and image. Additionally, there may be extra information stored in custom fields.

In this tutorial, I have two fields in order to save the original price and the promotional price. Only dishes that have a value in the promotional price field are on sale and will be displayed on the page.

Here are the needed tools:

  • Meta Box core plugin: to have a framework to create custom post types and custom fields;
  • MB Custom Post Type: to create a custom post type for the dishes;
  • 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;
  • Zion Builder and Zion Builder Pro: 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.

Create a new custom post type for products

Create Custom Fields

I’ll create two 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.

Created custom fields for extra information of products

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

To easily identify which products are on sale, you can set both of these fields 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

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

All the created custom fields appear in the post editor

Display the Products on Page Based on a Condition

Now, we’re going to create a new page to display the product information.

Since Zion Builder does not support styling this page title, we’ll disable it and create a new one later so that we can style it ourselves.

Disable the page's title

After creating the page, let’s edit it with Zion Builder.

First, add the Section element to cover all the content of the page.

Add the Section element to cover all the content of the page

Next, choose the Container element. Inside this container, add the Heading element to get the page’s title. In the dynamic data section, choose the Post Title option.

Choose the Post Title option to get the page's title.

You see the title of the page displayed immediately.

The title of the page displayed immediately

Set the Condition

To show all the main content of the page for the products currently on sale, add another Container element. Since the products are arranged in three columns, add a Column element inside.

Add container and column elements.

To display multiple posts, we need to enable a repeater for the above column.

In the settings of the Column element, go to the Advanced tab > Repeater Options and enable the repeater provider.

Go to the Advanced tab, choose Repeater Options and enable the repeater provider.

Now, we’ll get all the posts from the wanted post type. In the Post Type section, find the right one. In my case, it’s Cuisines.

Get all the posts from the Cuisines post type.

Remember to turn on the Enable the repeater consumer option to display all the posts in the chosen post type.

Turn on the Enable the repeater consumer option to display all the posts in the chosen post type.

In this practice, I’ll only show the posts that have a value saved in the Promotional Price field that is the specific criteria that I mentioned before. To do that, scroll up the settings to go to the General options section.

In the Element visibility option, choose Advanced conditions. Then, the Element Condition option will display.

In the Element visibility option, choose Advanced conditions. Then, the Element Condition option will display.

Click on the Set advanced conditions button, a popup will appear. It allows you to define the conditions. The mentioned condition is set based on the value of a custom field with the ID promotional_price. Therefore, choose the Post custom field option and fill in the field ID into the box as follows. And, select the Is set option because my condition is to set whether any value exists in the Promotional Price field or not.

The condition of getting the wanted posts

This condition means that if there is any value in this field, the post will be displayed.

As we haven’t chosen any kind of information about the product to show yet, it’s still blank there.

As we haven't selected any product information to display yet, it remains empty.

Display the Products Information

Now, let’s add some elements to display the product's information as well as the dish’s information.

For the image of the dish, add the Image element. Then, connect it to the featured image of the post by using the Use dynamic data button. In the list of displaying options, find the Featured Image in the Post section.

Get the image of the dish from custom field.

Now, all the featured images have been obtained.

All the featured images have been obtained.

Next, select the Column element to contain the remaining information about the dish.

For the dish’s name, add the Heading element and choose Post Title in the dynamic data section.

Add the Heading element for the dish's name

You see that the dishes names are displayed.

The dishes names are displayed

Add the Column element one more time to cover both the original price and the promotional price.

For the original price information, choose the Text Editor element. Since this information is saved in custom fields created by Meta Box, click Use dynamic data and find the Meta Box Field in the Post section, then choose the corresponding field like in the image below.

Get the original price information
As you can see in the gif, a number will be displayed without a unit of pricing. To have the unit displayed, and add the currency unit in the box like this.

Add the currency unit

For the promotional price information, do likewise.

Get the promotional price information

To get the last information - the dish’s description, select another Text element. In the dynamic data section, choose the Post Content option.

Get the dish’s description form custom field

Now the dishes' descriptions have been obtained.

The dishes' descriptions have been obtained

We’ve just finished getting all of the information about the dish.

Style the Page

Back in the page editor with Zion Builder, you can change the settings of each element to style them as you want.

Go to the frontend, you can see all of the dishes along with the information that we’re looking for.

All of the dishes along with the information that we’re looking for

You can compare the list of posts displayed on the page with the ones in the back end. Which one has the promotional price will be the one displayed on the page.

Which one has the promotional price will be the one displayed on the page.

Last Words

Hopefully, this tutorial will give you a hand in displaying posts with specific criteria using Meta Box and Zion. If you have any suggestions for future tutorials, feel free to leave a 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 *