Custom Digits for Elementor Counter

Description

Elementor’s Counter widget always counts in Latin numerals — 1, 2, 3. This plugin adds a Custom Digits field to that widget so you can supply your own ten characters and have the counter display and animate with those instead.

It does not add a new widget. It extends the Counter widget you already use, so your existing layout, styling and animation settings are untouched.

Use your own numerals

Enter ten comma-separated characters, in order from zero to nine:

  • Arabic-Indic — ٠,١,٢,٣,٤,٥,٦,٧,٨,٩
  • Eastern Arabic-Indic — ۰,۱,۲,۳,۴,۵,۶,۷,۸,۹
  • Devanagari — ०,१,२,३,४,५,६,७,८,९
  • Bengali — ০,১,২,৩,৪,৫,৬,৭,৮,৯
  • Or any ten characters you like

No flash of Latin digits

The substitution happens in PHP while the page is rendered, so the counter’s very first paint already shows your characters. Visitors never see Latin numerals flick over to something else on load.

The animation is converted too

Elementor rewrites the counter’s text on every frame of its count-up animation. This plugin watches the element and re-applies your digit set as those frames run, so the counter stays in your numeral system for the whole count, not just at the final value.

Validation while you type

The field accepts exactly ten single characters separated by commas. Anything else — too few entries, too many, or an entry longer than one character — is rejected as a whole rather than half-applied. The field is outlined in red in the editor the moment the value stops being valid, and the same rule is enforced again on the server when the page renders.

Safe by default

Leave the field empty and nothing changes. Counters render exactly as Elementor renders them, and no conversion code runs.

Translation plugins

Each counter keeps its own digit set, saved with the rest of its settings, so every language can show its own digits — Latin on the English page, Arabic-Indic on the Arabic one. Polylang and Loco Translate work with this as-is; WPML, TranslatePress and GTranslate need a few steps.

Polylang — no setup needed. Every language has its own page, with its own widgets. Open the translation in Elementor, select the counter and enter that language’s digit set in its Custom Digits field.

Loco Translate — no setup needed. Loco Translate translates theme and plugin text, not page content, so each page has a single version. Enter the digit set once in the counter’s Custom Digits field, and every visitor sees it.

WPML — requires WPML Multilingual CMS and WPML String Translation. WPML only translates Elementor widgets while String Translation is active.

  1. Fill in the Custom Digits field on the original page, even if that language uses Latin digits. WPML only sends fields that have a value, so an empty field never reaches the translation editor. For Latin digits, enter 0,1,2,3,4,5,6,7,8,9 — the counter looks exactly as it did before.
  2. Translate the page. The value appears as Counter: Custom Digits. In the Classic Translation Editor it is listed with the counter’s other fields, like any other text. The Advanced Translation Editor hides it by default, because it treats content made only of numbers and punctuation as not needing translation — search for the value in the editor’s search bar to make it appear.
  3. Enter the target language’s digits, keeping the plain comma between them, for example ٠,١,٢,٣,٤,٥,٦,٧,٨,٩. A localized comma such as the Arabic ، is rejected, and the counter falls back to Latin digits — worth checking if you use automatic translation.

TranslatePress

  1. Fill in the Custom Digits field on the original page, even if that language uses Latin digits. A counter with an empty field has no digit set to translate. For Latin digits, enter 0,1,2,3,4,5,6,7,8,9.
  2. Translate the digit set in TranslatePress’s editor. Open the page with Translate Page, switch to the target language and select the counter’s digit set: it is listed with the page’s other strings, and the counter shows TranslatePress’s pencil icon. Enter that language’s digits, keeping the plain comma between them, for example ٠,١,٢,٣,٤,٥,٦,٧,٨,٩.
  3. View the page in that language. The counter shows the translated digits from the first moment and counts up in them.

Counters with the same digit set share one translation, because TranslatePress translates identical text once. To show different digits on two counters in the same language, give them different digit sets on the original page. Automatic translation skips the digit set, since it could replace the plain comma with a localized one, so enter it by hand.

GTranslate — requires the free GTranslate Visual Addon plugin, which stores manual translation fixes. GTranslate’s own translation can’t change the counter: the count-up redraws the number on every frame.

  1. Fill in the Custom Digits field on the original page, even if that language uses Latin digits. A counter with an empty field is left alone in every language. For Latin digits, enter 0,1,2,3,4,5,6,7,8,9.
  2. In GTranslate Visual Addon, open the language’s tab and use New translation: set Original text to the counter’s digit set, as entered in the field, and Your custom translation to that language’s digits, keeping the plain comma between them, for example ٠,١,٢,٣,٤,٥,٦,٧,٨,٩.
  3. Switch the page to that language. Once GTranslate has translated the page, the counter changes to the saved set, including the count-up.

Counters with the same digit set share one pair. The free version of the addon allows 10 pairs in one language. Tested with GTranslate’s free widget; its paid plans translate pages on GTranslate’s servers and have not been tested.

Installation

  1. Install and activate Elementor. This plugin does nothing without it and will show a notice if it is missing.
  2. Upload the plugin through Plugins > Add New > Upload Plugin, or install it from the WordPress.org directory.
  3. Activate Custom Digits for Elementor Counter through the Plugins screen.
  4. Edit any page with Elementor, select a Counter widget, and open the Custom Digits section in the Content tab.

FAQ

Does this add a new widget?

No. It adds a control to Elementor’s existing Counter widget. Your current counters keep their settings, and you opt in per widget by filling in the Custom Digits field.

Do I need Elementor Pro?

No. The Counter widget is part of the free Elementor plugin, and that is all this plugin needs.

Which numeral systems are supported?

Any of them. The plugin does not ship a fixed list — you type the ten characters you want, so Arabic-Indic, Eastern Arabic-Indic, Devanagari, Bengali, Thai, Burmese and anything else all work the same way.

Can I use characters that are not numbers?

Yes. The field takes any ten single characters, including letters and symbols. Each one simply replaces the Latin digit at the same position.

Why is the field outlined in red?

The value is not exactly ten single characters separated by commas. Check that you have ten entries, that each is one character, and that you have not left a trailing comma. Spaces around each character are ignored, so ٠, ١, ٢ is fine.

What happens if the value is invalid?

Nothing is converted. The counter renders with its normal Latin digits rather than applying a partial or broken digit set.

Does the thousands separator still work?

Yes. Only the digits themselves are replaced, so separators, prefixes and suffixes configured on the Counter widget are left exactly as they are.

What happens to my counters if I deactivate the plugin?

They revert to Latin digits. Nothing else changes — the plugin does not modify your page content, only the markup produced when a counter is rendered.

My counter still shows the old digits after I changed them.

Elementor caches rendered widget markup. Saving the page in the editor clears that cache for the page. The plugin also clears Elementor’s cache automatically whenever its own version changes.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Custom Digits for Elementor Counter” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.0

  • Security: Custom digit characters are now HTML-escaped when the counter is rendered, so a set such as <, & or quotes can no longer add markup to the page.
  • New: Translation plugin support. WPML can translate the Custom Digits field, TranslatePress can translate a counter’s digit set, and GTranslate can switch it through the GTranslate Visual Addon. See “Translation plugins” in the description.
  • New: The plugin’s own text can be translated (translation template in languages/).
  • Fix: Digit sets that reuse Latin digits, such as 9,8,7,6,5,4,3,2,1,0, now show the same number before and during the count-up.

1.0.0

  • Initial release.