Choosing to showcase the most viewed posts on the home page is a way to attract customers easier. Let’s see how to do it using Meta Box along with the MB Views. I'll take the restaurant as a demo for this practice.

Example of displaying the most viewed posts

Video Version

Before Getting Started

There is something we need to make clear first:

Similar to the previous tutorials about the restaurants, we also create a custom post type named Restaurants and each restaurant is a post of that post type.

Beside displaying the default information of posts like title and feature image, which are the name and the image for restaurants, you may want to display some extra information. I also take some information about address, voucher, and logo for example. They will be saved in custom fields of the post.

Here are the tools we need for this practice:

Since we're going to display the most viewed restaurants in this post, we’ll use a third-party plugin, Post Views Counter. The name says it all. This is to count the post views.

Moreover, we’ll use Gutenberg only. But if you use any page builder, you can also follow this tutorial.

Step 1: Create a New Custom Post Type

Go to Meta Box > Post Types to create a new post type for the restaurants.

Create a new custom post type

Step 2: Create Custom Fields

Each restaurant may have extra information saved in custom fields, so go to Meta Box > Custom Fields and create them.

Create custom fields

After creating all the needed fields, go to the Settings tab > Location > choose Post Type as the Restaurant post type that we’ve just created to apply the custom fields to it.

Set Location for the created fields

In the post editor, you will see all of the newly created custom fields.

Newly created custom fields in the post editor

Step 3: Set Up to Count the Posts View

Normally, there is no information about the posts’ view available in WordPress as default. We must do it on our own. So, just install the Post Views Counter plugin, then go to Settings > Post Views Counter and tick the box of the post type you want to count the posts view.

Set up to count the post views

Right after that, you can see the view numbers of each restaurant appear. Based on these numbers, we’ll choose which restaurant has the most views and display it in the section.

Choose the most viewed restaurant and display it in the section

Step 4: Create a Template for the Section

In this tutorial, I’ll use MB Views, an extension of Meta Box, to create a template for this section. Whether you use page builders or not, you can still create templates in this way.

Go to Meta Box > Views to create a new template. In the Template tab, add some code to display the restaurant's information.


{% set args = { post_type: 'restaurant', posts_per_page: 6, orderby: 'post_views', order: 'DESC' } %} {% set posts = mb.get_posts( args ) %} {% for post in posts %} …….. {% endfor %}

Explanation:

  • {% set args = { post_type: 'restaurant'} %}: is to declare the args variable to get all the posts from the Restaurants post type.
  • posts_per_page: 6: is used to limit the number of posts. You can change the number “6” to any number you want.
  • orderby: 'post_views': is to set the order of the post by the posts view.
  • {% set posts = mb.get_posts( args ) %}: is to declare the post variable to admit the return value of the args variable.
  • {% for post in posts %}: this loop helps to list the posts.

Then, insert fields which we want to get the data into the loop.

To get the restaurant image, which is the featured image, choose the Post thumbnail option.

Choose Post Thumbnail option to get the restaurant image

We just need to insert each field in turn. It includes the default fields such as Post thumbnail like we just got above or Post title, or even custom fields like Address, Logo, and Voucher.

After getting all the restaurant information, scroll down to the Settings section of the view, set the type of this view as Shortcode.

Set the type of this view as Shortcode

When publishing, a shortcode is generated. Just paste it to anywhere you want to display this section.

Step 5: Add the Section to the Homepage

As I said before, whether we use page builders like Elementor, Brick Builder, Zion Builder, etc, or not, we can use the shortcode generated by MB Views. Just insert it to the place you want on the page.

With the page using Gutenberg for example, add the Shortcode block then paste the shortcode inside.

Add the shortcode block then paste the shortcode inside

Then, you’ll see the information of the most viewed restaurants.

The information of the most viewed restaurants is obtained

For other page builders, you do likewise and you’ll get the same result.

Step 6: Style the Section

Back to the Views, let’s edit the template to style the section.

First, add some div tags into this template.

Add some div tags into the template

Then go to the CSS tab of the view and add some code.

Add some CSS code

This code is available on GitHub, so you can refer to it for more details.

Then you’ll see a new look of the section. No matter which page builder you use, you’ll see the new appearance.

The final result after styling

Last Words

With MB Views, it’s a very convenient and quick way to display the most viewed restaurants section anywhere on your site no matter what which theme or builders you are using. Furthermore, whenever you change the page design, the section will be not affected. Let’s try it and enjoy!

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 a User List On the Frontend with Meta Box
  9. Display The Latest Products Section - P2 - Using Meta Box and Elementor
  10. Display The Latest Products Section - P3 - Using Meta Box And Oxygen
  11. How to Add Custom Fields to Display Banners using Meta Box Plugin
  12. How to Add Guest Author in WordPress using Meta Box (Part 1)
  13. How to Add Guest Author in WordPress using Meta Box (Part 2)
  14. How to Add Related Posts to WordPress Using Meta Box
  15. How to Build a Hotel Booking Website Using Meta Box - P1
  16. How to Build a Hotel Booking Website Using Meta Box - P2 - Booking Page in Backend
  17. How to Build a Hotel Booking Website Using Meta Box - P4 - Booking Management Page
  18. How to Build a Hotel Booking Website Using Meta Box – P3 – Booking Page for Customer
  19. How to Create a Classified Ads Website using Meta Box
  20. How to Create a Product Page - P2 - Using Meta Box and Oxygen
  21. How to Create a Product Page - P3 - Using Meta Box and Bricks
  22. How to Create a Product Page - P4 - Using Meta Box and Elementor
  23. How to Create a Product Page - P5 - Using Meta Box and Gutenberg
  24. How to Create a Product Page using Meta Box Plugin
  25. How to Create a Recipe - P2 - Using Meta Box and Oxygen
  26. How to Create a Recipe - P3 - Using Meta Box and Elementor
  27. How to Create a Recipe - P4 - Using Meta Box and Bricks
  28. How to Create a Recipe - P5 - Using Meta Box and Zion
  29. How to Create a Recipe with Meta Box Plugin
  30. How to Create a Simple Listing - P2 - Using Meta Box and Bricks
  31. How to Create a Team Members Page - P1- Using Meta Box and Elementor
  32. How to Create a Team Members Page - P2 - Using Meta Box and Oxygen
  33. How to Create a Team Members Page - P3 - Using Meta Box and Bricks
  34. How to Create a Team Members Page - P4 - Just Meta Box
  35. How to Create ACF Flexible Content Field with Meta Box
  36. How to Create an Auto-Updated Cheat Sheet in WordPress
  37. How to Create an FAQs Page - P1 - Using Meta Box and Elementor
  38. How to create an FAQs page - P2 - Using Meta Box and Oxygen
  39. How to Create an FAQs Page -P3- Using Meta Box
  40. How to Create Buttons with Dynamic Link using Custom Fields
  41. How to Create Category Thumbnails & Featured Images Using Custom Fields
  42. How to Create Download Buttons Using Custom Fields with Meta Box Plugin
  43. How to Create Menu for a Restaurant - P1 - Using Meta Box and Elementor
  44. How to Create Online Admission Form for School or University
  45. How to Create Online Reservation Form for Restaurants using Meta Box
  46. How to Create Taxonomy Thumbnails & Featured Images - P2 - Using Meta Box and Oxygen
  47. How to Display Images from Cloneable Fields - P1 - with Gutenberg
  48. How to Display Images from Cloneable Fields - P2 - with Oxygen
  49. How to Display Images from Cloneable Fields - P3 - with Elementor
  50. How to Display Images from Cloneable Fields - P4 - with Bricks
  51. How to Display Opening Hours for Restaurants - P1 - Using Meta Box + Gutenberg
  52. How to Display Product Variations - P1 - Using Meta Box and Gutenberg
  53. How to Display Product Variations - P2 - Using Meta Box and Oxygen
  54. How to Display The Latest Products - P5 - Using Meta Box and Bricks
  55. How to Display the Latest Products - P6 - using Meta Box and Breakdance
  56. How to Display the Latest Products Section - P4 - Using Meta Box + Zion
  57. How to Display the Most Viewed Posts - P1 - using MB Views
  58. How to Display the Most Viewed Posts - P2 - using Meta Box and Oxygen
  59. How to Filter Posts by Custom Fields - P2 - using Meta Box and FacetWP
  60. How to Manually Reorder Posts with Meta Box
  61. How to Show Featured Restaurants on Homepage - P1 - Meta Box + Elementor + WP Grid Builder
  62. How to Show the Featured Restaurants - P3 - using Meta Box and Oxygen
  63. How to Show the Featured Restaurants Section - P2 - Using Meta Box and Bricks
  64. How to Use Custom HTML Field to Output Beautiful Texts or Output Custom CSS

Leave a Reply

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