Help Center

How to Display Images on the Front End

This article focuses on the available ways of displaying images from the “Media” and “Gallery” meta fields from the WordPress JetEngine plugin on the front end.

Before you start, check the tutorial requirements:

  • Elementor (Free version), Block editor (Gutenberg), or Bricks

  • JetEngine plugin installed and activated

JetEngine offers two types of custom fields for displaying images: “Media” and “Gallery.” Both fields allow storing the images as the image array, image URL (string), or image ID (integer). They allow saving graphical file formats (e.g., PNG, JPG, and WebP) and restricting the MIME types. The “Gallery” meta field adds multiple images to the posts and products as a gallery.

Both “Media” and “Gallery” fields can be used in the Custom Post Type or Meta Boxes. JetEngine provides several options for displaying images from these fields — this article explains how to make each of them work. 

Create a Field for Images

In WordPress Dashboard > JetEngine > Post Types/Meta Boxes directory, select the needed CPT or Meta Box where you need to add the field for images. In the Meta fields section, click the “New Meta Field” button.

Set the field’s Label, Name, and select the “Media” Field type. Set the desired Value format and restrictions if needed.

media field added

All the same settings are needed for the “Gallery” field, except the “Gallery” option for the Field type dropdown.

gallery field added

Save the changes.

Add Image to the Field

Then, proceed to the post, Custom Content Type Item, user, or product where you need to add the image. Click the “Choose Media” button in order to add the images from the Media Library or your device.

images added to the fields

Ensure that changes are saved.

Displaying an Image

JetEngine lets you dynamically display uploaded images on the front end in several ways. The most convenient and flexible method is using the Dynamic Image widget/block/element, which is designed specifically for media output and gives full control over image appearance and behavior.

You can also display images via the Dynamic Field widget or use dynamic tags to set images as section or container backgrounds in Elementor and Bricks.

In this tutorial section, we will start with the most recommended approach for the JetEngine image field dynamic setup — the Dynamic Image widget/block/element.

Display an Image with the Dynamic Image

The Dynamic Image widget/block/element allows you to output images stored in JetEngine “Media” meta fields dynamically. This method is useful when you need full control over image size, styling, responsiveness, links, lazy loading, and other display settings.

To display an image dynamically, open the page, template, or post in the editor (we use Elementor in this case) and add the Dynamic Image widget to the canvas.

In the widget settings, open the General tab and select the previously created “Media” meta field in the Source dropdown.

media field is set as a source in the dynamic image widget

After selecting the field, the image uploaded to that meta field for the single post/CCT item/user will appear automatically on the front end.

The Dynamic Image widget also provides additional customization options, including:

  • image size selection;
  • custom dimensions;
  • object-fit settings;
  • linked images;
  • lazy loading support;
  • alignment and styling controls.

These settings make the widget especially useful for profile photos, featured visuals, banners, team member images, property previews, and other dynamic content sections.

You can also use the same setup inside JetEngine Listing Templates if needed.

Display an Image via Dynamic Field

Another way to display a JetEngine “Media” meta field is by using the Dynamic Field widget/block/element together with the “Get image by ID” callback. This approach can be used only if the image is stored as an ID.

media field with image stored as id

To begin, add the Dynamic Field widget/block/element to the page or template in the editor (Elementor in this case).

In the widget settings, select:

  • Source — “Meta Data” option;
  • Meta Field — choose the “Media” field you want to display.

Since the “Media” field stores the attachment ID, the image will not be displayed correctly until a callback is applied — you will see the ID number only.

Enable the Filter Field Output toggle. After that, choose the “Get Image by ID” callback.

media field source for the dynamic field

Once selected, the widget will convert the stored attachment ID into an actual image displayed on the front end.

Display an image as a dynamic background

JetEngine “Media” fields can also be used as dynamic background images for sections, containers, blocks, and other layout elements. This approach is especially useful for hero sections, banners, profile headers, cards, and other design elements that require a WordPress dynamic background image JetEngine setup.

Instead of displaying the image directly on the page, the image is applied as the background of a container dynamically. So some text or other elements can be displayed on top. 

Set a dynamic background image in Elementor

To display a dynamic background image in Elementor, open the page or template in the Elementor editor and select the container or section you want to customize.

Go to the Style tab and open the Background settings. Select the “Classic” Background Type, then click the “Dynamic Tag” icon and choose the JetEngine’s “Custom Image” source. After selecting the tag, choose the “Media” field you want to display.

media field set as a background

The uploaded image will now be used automatically as the section background.

Set a dynamic background image in Bricks

In Bricks, select the container or element where you want to add the dynamic background.

Open the Style settings of the required Section or Container. Open the Background settings section and click the “Dynamic data” icon next to the Background Image field. Then select the corresponding JetEngine “Media” field as the source.

media field set as a background in bricks

After saving the changes, Bricks will dynamically load the image stored in the selected meta field and apply it as the background image.

Using dynamic background images helps create more flexible and reusable layouts without manually replacing images for each page or post.

JetEngine “Gallery” fields store multiple image attachments and can be displayed dynamically on the front end using the Dynamic Field widget together with the appropriate callback. This method is useful for creating lightweight gallery outputs without configuring additional gallery-specific widgets.

To display a gallery dynamically, add the Dynamic Field widget to the page or template.

In the widget settings, select:

  • Source — “Meta Data” option;
  • Meta Field — choose the “Gallery” field you want to display.

Since the “Gallery” field stores image attachment IDs, the output must be processed through a callback to display actual images.

Enable the Filter Field Output toggle. Then select either “Images gallery grid” callback or “Images gallery slider” one, depending on whether you want to display the images in the format of the grid or slider. 

displaying images from gallery field

After that, the images stored in the “Gallery” field will appear on the front end dynamically.

This JetEngine “Gallery” Dynamic Field approach is useful when:

  • displaying simple image collections;
  • creating custom gallery layouts;
  • combining gallery output with additional dynamic content;
  • building lightweight templates without separate gallery widgets.

Using Media Fields in Listing Templates

The same “Media” and “Gallery” field setups can also be used inside JetEngine Listing templates. You can add Dynamic Image, Dynamic Field, and dynamic background elements to Listing Items the same way as on regular pages or templates.

This approach is useful for displaying dynamic media in:

  • Listing Grids;
  • profile cards;
  • property previews;
  • product showcases;
  • team member layouts.

Once configured, the media content will be pulled automatically from the corresponding meta fields for each listing item.

FAQ

How do I display an image from a JetEngine “Media” field on the front end?

You can display images from a JetEngine “Media” meta field using the Dynamic Image widget/block/element, the Dynamic Field widget/block/element, or as a background for sections or containers with the help of the “Dynamic Tags”. The easiest method is the Dynamic Image widget because it provides full control over image size, styling, links, and responsive behavior.

What is the best way to create a JetEngine “Media” field dynamic setup?

The recommended method for a JetEngine image field dynamic setup is using the Dynamic Image widget/block/element with the “Media” meta field selected as the source. This approach is flexible, beginner-friendly, and works well with Elementor, Gutenberg, and Bricks.

Why does the Dynamic Field widget show only an image ID instead of the image itself?

This usually happens when the “Media” field stores the image as an attachment ID and the callback is not applied. To display the actual image, enable the “Filter Field Output” toggle and select the “Get Image by ID” callback in the Dynamic Field settings.

Can I use a JetEngine image field as a dynamic background image?

Yes, JetEngine allows you to use images from “Media” fields as dynamic backgrounds for sections, containers, and other layout elements. This wordpress dynamic background image jetengine setup can be configured in Elementor and Bricks using “Dynamic tags” or “Dynamic data” options.

How do I display images from a JetEngine “Gallery” field?

To display images from a “Gallery” field, use the Dynamic Field widget/block/element and select the “Images gallery grid” or “Images gallery slider” callback. This JetEngine gallery Dynamic Field method lets you dynamically output multiple images as a gallery layout on the front end.

That’s it. Now you know how to display images from the “Media” and “Gallery” meta fields from the WordPress JetEngine plugin on the front end.

Was this article helpful?
YesNo

Need help?

Ask Facebook community

Get answers from 30K+ Crocoblock Community experts from all over the world.

Start a live chat

Ask question to support agent and share its details via chat messages.