I’m working on a WordPress website using JetEngine and Elementor.
I have created a custom query in JetEngine (via Query Builder) that fetches data directly from the database — specifically, WooCommerce order records.
This custom query is then used as the source of a Listing in Elementor, which displays each record using JetEngine’s Dynamic Field widget.
Here’s the problem:
One of the fields in the query is status
, and its values are in English (e.g.):
wc-completed
wc-pending
wc-cancelled
When I use the Dynamic Field widget inside the Listing, these English values are shown directly on the page.
What I want:
I want to translate these field values into Persian for display in the frontend, like:
wc-completed
→تکمیل شده
wc-pending
→در انتظار
wc-cancelled
→لغو شده
Limitations:
- I can only use JetEngine’s Dynamic Field widget inside the Listing.
- I cannot use HTML widgets, shortcodes, or custom templates.
- I prefer a solution with minimal or no PHP code, using built-in JetEngine features like:
- Output filters
- Macros
- Callbacks
- Conditional logic (if available)
My question:
How can I map or translate the field values returned from a custom query in JetEngine, and display them as Persian text inside a Listing, using only the Dynamic Field widget in Elementor?
If there’s no code-free solution, what is the simplest PHP-based workaround (e.g., via a callback function or filter) to transform these values before they are rendered in the Dynamic Field?
Thanks in advance!