JHTML-NONPUBLIC-001

JHtml::_('behavior.caption') internals

JHtml::_() calling a non-public helper

Joomla 4 made many JHtml helper methods non-public. Calls that worked as undocumented internals fatal with visibility errors.

JHtml::_('behavior.caption') internalsPublic HTMLHelper methods / WebAssetManager only

Dies at Joomla 3 → 4J3: Works nativelyJ4: Removed — fatalJ6: Removed — fatalBC plugin: no — already dead on J4You rewrite thisJoomla API

What you will see

  • Call to protected method
  • Call to private method
  • Call to undefined method

Symptoms people search

html helper protected · behavior helper fatal

Replace this code

Swap JHtml::_('behavior.caption') internals for Public HTMLHelper methods / WebAssetManager only.

Joomla 3

Remove or stop calling this

JHtml::_('behavior.caption');
JHtml::_('somehelper._hiddenMethod');

Joomla 4 / 6

Use this instead

// Only call documented public helpers.
HTMLHelper::_('calendar', $value, $name, $id);

How to fix it

  1. 1If the helper is not in the Joomla 4 HTMLHelper docs, stop calling it.
  2. 2Load the equivalent as a WAM asset.

Also known as

JHtml::_ non-public · protected helper

Related issues

Get in touch

Have a project in mind? Let's talk about it.

Tell us what you're building. Whether it's a new site, an online store, a mobile app, or something that needs AI under the hood, we'll get back to you within a business day.

Free consultation
No commitment, no pressure
Reply within 24 hours
Usually much faster

Prefer a direct conversation?

Request a project quote

Tell us about your project

Fill out the quick form and we'll reach out.