When you're looking to display dynamic content in WordPress, both MB Views from Meta Box and Dynamic Shortcodes offer powerful solutions, but each has its own strengths. In this in-depth comparison, we'll break down some main aspects that will help you decide which one fits your needs. Here we go!

General Overview

Before choosing between MB Views and Dynamic Shortcodes, it’s helpful to understand how each tool handles data and what core functions they offer. Let’s start by comparing the types of data they support.

What are they?

MB Views is an extension of the Meta Box plugin (metabox.io) which helps to create and manage custom fields as well as dynamic content in WordPress. The principal purpose of MB Views is getting data from the backend including from custom fields, then displaying them on the frontend.

Dynamic Shortcodes (Dynamic.ooo) is a standalone tool that helps users display dynamic content in WordPress by using shortcodes for different data types.

Data Types

So, you can see that both MB Views and Dynamic Shortcodes serve the same purpose of getting data from various sources in the backend, then displaying them on the frontend. However, the data they can retrieve and the way they handle it differ.

MB Views provides a comprehensive solution for retrieving various data types. It supports data from posts, terms, users, custom fields, settings pages, custom post type, relationships, queries, pagination, and reusable templates. Additionally, MB Views allows for flexible location settings, making it easier to display views in a variety of contexts.

Dynamic Shortcodes also retrieves data from those objects as MB Views does. Also, it can get the value from custom fields created with Meta Box, ACF, Pods, and WooCommerce.

Here’s a comparison of the data types each tool can retrieve:

Data Types MB Views Dynamic Shortcodes
Post yes yes
User yes yes
Term yes yes
Author yes yes
Settings Page yes yes
Query yes yes
Relationship yes yes
WooCommerce yes yes
Custom Fields yes yes

Score: Dynamic Shortcodes +1, MB Views +1

Functionality

Dynamic Shortcodes provides built-in shortcodes for basic data retrieval. You can easily insert these into any page. To pull data from multiple elements simultaneously, you can simply write many shortcodes one after the other. Or, you can use its Power Shortcode functionality, which also serves different purposes. It’s quite the same with the MB Views, not only getting data but also allowing you to add any functions or any other content to the template.

On the other hand, MB Views does not offer any pre-made shortcodes. To retrieve data from a specific element, you need to create a view for that element then it provides a shortcode. Whether you are getting data from a single element or multiple ones, you’ll use a consistent interface and the same method. This approach offers flexibility in managing and displaying data according to your specific needs.

Score: Dynamic Shortcodes +1, MB Views +1

Creating Shortcodes

Syntax

Each plugin has its own unique syntax, with similarities and differences. While they share some common features, their approaches to syntax can vary.

MB Views is based on Twig and integrates smoothly with HTML, providing a standardized structure and a simpler syntax. This setup benefits from Twig’s advantages, such as its clean and readable template syntax, powerful logic capabilities, and ease of extending with custom functions. For developers already familiar with Twig, using MB Views will feel intuitive and familiar, making it easier to adopt.

In contrast, Dynamic Shortcodes uses a custom syntax that doesn’t follow Twig. This means users need to carefully follow its documentation. While it is designed to be straightforward, it can be less flexible for complex logic and may be harder to learn because of its unique syntax.

Score: MB Views +1

I will clarify some points that you can compare as follows.

Basic Elements

Both MB Views and Dynamic Shortcodes use similar syntax for retrieving basic elements and custom fields.

MB Views Dynamic Shortcodes
Common WP elements {{ post.ID }} { post:ID }
Custom Fields {{post.field-name}} {post:field-name}

Loop

Loops are essential for retrieving and displaying lists of content, such as blog posts. Here’s how each plugin handles loops to retrieve all posts.

MB Views:

{% set args = { post_type: 'post', posts_per_page: -1 } %}
{% set posts = mb.get_posts( args ) %}
    {% for post in posts %}
    <a href="{{ post.url }}">{{ post.title }}</a>
    {% endfor %}

Dynamic Shortcodes:

{loop:
    {query:posts@posts_per_page=-1}
    [<a href="{post:permalink}">{post:title}</a>]
}

PHP

In this part, you'll notice that MB Views prefixes its syntax with mb. for functions, whereas Dynamic Shortcodes does not use any prefix. This distinction highlights the different approaches each plugin takes. You can see the clear differences in the below example:

Type of function MB Views Dynamic Shortcodes
Use substr function {% set title = mb.substr(post.title, 0,5) %} {post:title | substr(0,5)}
Use get_author_posts_url function {% set url_author = mb.get_author_posts_url(user.ID) %} {post:author | get_author_posts_url}
Use str_replace function {% set title = mb.str_replace(post.title, 'a','') %} {post:title |- str_replace('a','')}

Style

MB Views and Dynamic Shortcodes offer similar capabilities for styling, allowing you to add HTML, CSS, and JavaScript to beautify your content. However, they use different syntaxes to achieve the same result. Here’s how the syntax for styling in each plugin:

MB Views:

<ul>
{% for post in query.posts %}
    <li><a href="#">{{ post.title }}</a></li>
{% endfor %}
<ul>

Dynamic Shortcodes:

<ul>
{loop:
    {query:posts}
    [<li><a href="{post:permalink}" style="color:red">{post:title}</a></li>]}
</ul>

Get data from a single element

As mentioned before, no matter what you are creating shortcodes to pull data from a single element or multiple elements, it is the same approach with the same screen to create it with MB Views. You should create a view to have the shortcode. So, you can create as you go, and there is only the needed shortcode available.

With MB View, we need to create a view to have the shortcode.

However, creating the shortcode also is easy this way. Besides writing code directly, MB Views provides an Insert Field button. This feature allows you to select fields and automatically generates the code for you.

MB Views provides an Insert Field button to select fields and automatically generates the code for you.

In contrast, Dynamic Shortcode provides pre-made shortcodes for every single element, then you can copy and paste to any page.

Dynamic Shortcode provides pre-made shortcodes for every single element

In this case, pre-made shortcodes seem to be more convenient since they’re ready to use.

Score: Dynamic Shortcodes +1

Get data from multiple elements at once

Dynamic Shortcodes

If you want to use multiple elements at once along with some context in addition, you can add the shortcodes directly in the post or page.

add the shortcodes directly in the post or page.

But if you want to combine them with others to have a more complex content section (maybe with some PHP functions, HTML, CSS, JS, or something else), you need to use the Power Shortcodes feature. It also is a place where you can add code to display anything you want along with the pulled data.

But, no matter which way you are doing, you have to manually remember and type the field’s ID and syntax, or switch to another screen to view demo shortcodes for syntax hints and field lists, then copy and paste the code back into the Power Shortcode / post editor. This process involves navigating away from the main screen, which can be inconvenient.

You need to change the screen to find the wanted shortcodes.
You need to change the screen to find the wanted shortcodes.

MB Views

In the same screen with pulling data from a single element, you can add more elements to the template by adding code directly or using the Insert Field button. This feature helps to eliminate the need to remember field IDs or syntax and reduces the chance of errors.

As well as, you can add any functions or any other content to the template.

With MB Views, add more elements to the template by adding code directly or using the Insert Field button.

In this case, MB Views save more actions, avoid mistakes, so it is more optimal.

Score: MB Views +1

Output Customization

Both plugins have high flexibility in customizing how data is displayed. The primary difference lies in their syntax for writing the customizations. Below are a few examples:

Option MB Views Dynamic Shortcodes
Datetime {{ post.date | date( 'd/m/Y H:i:s' ) }} {date:{post:date} @ format="d/m/Y H:i:s"}
Image URL {{ post.thumbnail.thumbnail.url }} {media:url @ size=thumbnail id={post:featured-image-id}}

Additionally, both plugins allow you to incorporate PHP and WordPress functions when displaying data on the frontend.

Score: Dynamic Shortcodes +1, MB Views +1

Using Shortcodes to Display Value

Dynamic Shortcodes

With Dynamic Shortcodes, it just allows you to create shortcodes for displaying data. Also, it offers Power Shortcodes, which are reusable shortcodes that facilitate the creation of new shortcodes.

MB Views

Create and Place Shortcodes

Not only the shortcodes, MB Views also allows directly assigning the template to a specific location on any page. This can be done on a single or archive page, using actions/hooks (e.g., wp_header), via code using Conditional Tags (such as is_404()), or by placing it in a block.

MB Views also allows directly assigning the template to a specific location on any page

Reusability

Once created, a shortcode can be reused to form a new view (shortcode), which is similar to the Power Shortcode feature found in Dynamic Shortcodes.

So, you can clearly see the advantages of MB Views:

  • Direct Placement: No more switching screens.
  • Content Preservation: When someone edits the page, the content remains intact. This means that even if others modify the page, the content will not be lost.

So, Dynamic Shortcodes does not offer the same level of flexibility for directly placing shortcodes across various locations or preserving shortcode content during page edits. Then, I gave the MB Views a score for this.

Score: MB Views +1

Others

Documentation

Both plugins offer comprehensive documentation to assist users:

MB Views provides detailed guides and tutorials, making it easier for developers to get started with custom data management. You can explore these resources:

https://docs.metabox.io/extensions/mb-views/
https://docs.metabox.io/tutorials/mb-views/

Dynamic Shortcodes also comes with well-documented tutorials but is designed to be more user-friendly for people with less technical experience. See it more clear here.

Score: Dynamic Shortcodes +1, MB Views +1

Pricing

Lastly, let’s talk pricing. Both of them are premium tools with pricing plans that cater to different needs. You can see the price clearly in this table below.

Meta Box (includes MB Views) Dynamic Shortcodes
1 year 1 site x €34 
3 sites $99 € 59
1,000 > Unlimited sites $299 € 109
Lifetime 1 site x € 99
3 sites $299 x
1,000 > Unlimited sites $699 € 199

When looking at the above numbers, it appears that Meta Box (MB Views) is about 2 to 3 times more expensive than Dynamic Shortcodes. However, in reality, the price of Meta Box includes all the other powerful features related to custom fields and dynamic content that Meta Box supports, with MB Views being just one part of it.

Meanwhile, Dynamic Shortcode offers only one feature. You'd likely need to purchase several other plugins to cover the same functionality, which would ultimately increase the overall cost.

So, if you're planning to use a wide range of features relating to dynamic content, such as custom fields or anything else Meta Box offers, the current pricing of Meta Box is much more cost-effective.

Score: Dynamic Shortcodes +1, MB Views +1

Summary

In summary, the total score of Dynamic Shortcodes is 6, while MB Views is 8.

However, you can see that both MB Views and Dynamic Shortcodes offer strong solutions for displaying dynamic content in WordPress. The comparison still is my personal opinion although in a fair view. The best choice absolutely depends on your specific needs and how comfortable you are with coding and customization.

I hope this comparison will be helpful to you. If you have any feedback, feel free to leave a comment!

Leave a Reply

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