Position 'help' text just beneath label?

Hello. Is it possible to place the ‘help’ text beneath the label instead of the beneath the field?

Not without modifying the core, I’m afraid.

Edit: I corrected myself below.

You can use Javascript for it, and move some DOM-objects - without modifying the core.

I did this, while creating dynamic accordions / section-area’s on the panel.


Simply add an asset to the queue, while loading the panel and define in that script which elements you want to swap.


$(".field-content:eq(2)").before($(".field-help:eq(0)"));


Or do it with plain-vanilla CSS - with a (negative) margin, some extra padding and maybe a relative position you can solve this;


hmmm… i was hoping for some baked in config i could set, but thank you for the suggestions. much appreciated.

help text after the field seems out of place, disconnected, too late.

it’s like you saying, “here. have a banana.” client eats the banana. you say, “no!!! peel it first dude!” the client asks, "oh. hell. why didn’t you tell me first? you explain, “i tried but kirby didn’t let me.” client asks, “who’s kirby?” you reply, “please just eat your banana.”

we gotta tell 'em before they eat the banana.

There is, however, no “official” way of adding custom javascript to the panel, except in a custom panel form field: https://github.com/getkirby/panel/pull/523

What you can do:

  • Copy /panel/app/fields/base to /site/fields.
  • Change the order of the “appends” in the template() function (lines 178 ff).
  • If necessary, add a custom stylesheet to change margin/padding of elements.

Excellent. That works.

Now i can only hope it doesn’t cause issues when updating to a new version of Kirby. Sure it’s in the site folder now, but who knows what this base.php is doing or needs to do in the future.

Thanks again.

Yes, there is a certain risk of breaking, but the same is true if you use custom fields. You need to test your site before any update goes live anyway.