Basker Docs

Custom data

Extend Basker's content model with custom fields and content types specific to your organisation

Custom data lets you add fields and content types that aren't part of Basker's built-in model. Use it when your site has structure that the standard fields on events, pages, or posts don't capture — sponsor tiers, pre-show dining options, accessibility services, donor levels, or anything else specific to your organisation.

There are two kinds of custom data:

  • Custom attributes — additional fields you add to existing content types like events, posts, or people. A custom attribute might be a "Programme PDF" upload on every event, or a "Donor Level" select on every person.
  • Custom objects — entirely new content types you define. A custom object might be "Sponsor", "Discount Code", or "Accessibility Service" — a new kind of record with its own fields and its own list of instances.

When to use custom attributes

Custom attributes are right when:

  • Every event, post, or person needs the same extra piece of information.
  • The information is a single value or simple structure (a piece of text, a date, a file, a relationship).
  • You want the field to appear inside the existing record's editor, not in a separate area.

Examples: an "Approximate run time" field on every event, a "Programme notes PDF" upload on every event, a "Pronouns" field on every person, a "Reading time" number on every post.

When to use custom objects

Custom objects are right when:

  • You need a new kind of record with multiple fields, that can stand on its own.
  • The records need their own list, their own admin area, and ideally their own page on the site.
  • The records are referenced from multiple places, so it makes sense to manage them centrally.

Examples: a "Sponsor" object with name, tier, logo, and link, referenced from several events; an "Accessibility service" object that lists captioned, audio-described, and signed performances.

Working with custom data

The pages below cover each part of the custom data system. Most sites start with custom attributes (which extend existing content) and add custom objects later when they need a new content type that doesn't fit anywhere existing.

For developer-level information about reading custom data inside a theme, see basker.dev.

Where to go next

On this page