Skip to main content

Sortable Select

Ordered list with drag-and-drop plus keyboard-accessible move actions.

Helperpu_sortable()
Typesortable_select
Stored valueordered array

Example​

pu_sortable('sections_order', ['hero' => 'Hero', 'content' => 'Content', 'cta' => 'CTA'], ['label' => 'Section order']);

Stored value​

Pressundo stores this field as ordered array. Composite fields keep structured arrays rather than opaque CSS strings, so your application can reuse individual values.

Important arguments​

Common field arguments: label, description, default, required, show_if, hide_if.

All normal fields can also use conditional visibility:

'show_if' => ['enabled' => true],

Behavior​

  • The same schema renders in Air, Slate and Compact.
  • Sanitization runs before validation/storage.
  • Hidden conditional fields keep their stored value unless your application explicitly changes it.
  • Output escaping remains contextual and should be applied where the value is rendered on the front end.

Notes​

The field is sanitized and validated through the central field-value processor before normal admin saves.

Reading the value​

$options = pu_options('theme_settings');
$value = $options->get('example_value', null);

Use the actual field ID from your schema instead of example_value.