Title: GazetteBuilder
Author: robertjbecraft
Published: <strong>Ògún  31, 2026</strong>
Last modified: Ògún  31, 2026

---

Ṣàwárí àwọn plugin

![](https://ps.w.org/gazettebuilder/assets/banner-772x250.png?rev=3674599)

![](https://ps.w.org/gazettebuilder/assets/icon-256x256.png?rev=3674599)

# GazetteBuilder

 Láti ọwọ́ [robertjbecraft](https://profiles.wordpress.org/robertjbecraft/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/gazettebuilder.1.0.0.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/gazettebuilder/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/gazettebuilder/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/gazettebuilder/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/gazettebuilder/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/gazettebuilder/)

## Àpèjúwe

GazetteBuilder is a WordPress plugin for organizing worldbuilding content as structured,
connected records. It is designed for lore databases, campaign setting reference
sites, story-driven publishing, and timeline-based narrative content.

At its core, GazetteBuilder gives WordPress a dedicated model for entries, entry
types, story progression, semantic references, and controlled relationship vocabulary.

#### What it provides

 * A custom post type: `gazette_entry`
 * A taxonomy: `gazette_entry_kind`
 * A custom post type for relationship definitions: `gazette_relationship`
 * Story-aware entry sequencing and release controls
 * Semantic reference linking via `[[Target Entry]]`
 * Timeline rendering based on timeline sort values
 * ZIP-based import support for packaged lore content
 * Public entry-type archive pages and filtered listing controls
 * Admin screens for managing metadata, entry types, and relationship definitions

#### Entries

Entries are the primary content objects in the plugin. Each `gazette_entry` can 
carry metadata such as:

 * Entry ID
 * Entry Type
 * Summary
 * Campaign Date
 * Story ID
 * Sequence Position
 * Release Date
 * Timeline Sort
 * Derived From
 * Featured Media
 * Unit label and continuation/ending text

Entries are edited through the standard WordPress admin interface, but they gain
worldbuilding-specific metadata and behavior beyond a normal post.

#### Entry Types

Entry types are stored as taxonomy terms in `gazette_entry_kind`. The plugin can
seed default kinds such as Location, Character, Organization, Culture, Technology,
Creature, Vessel, Document, Artifact, Event, Reference, and Story. These terms are
used to classify entries and can drive public archive indexes.

#### Relationships

GazetteBuilder supports a controlled relationship vocabulary for describing how 
one entry connects to another. Relationship types are defined as posts in `gazette_relationship`
and include a relationship ID, canonical name, inverse label, source/target entry
types, symmetry settings, multiple-relationship settings, and forward/inverse display
rules.

Relationships are declared per Entry using the format:

    ```
    Relationship Name: Target Entry
    ```

For example:

    ```
    Located in: Syrtis Major
    Member of: Royal Geographical Society
    ```

These declarations are resolved against actual Entries on the site. When a declaration
resolves, the source Entry displays a forward relationship link, and the target 
Entry automatically displays a reverse (inverse) listing of every Entry that points
to it, using the relationshipÌtumọ̀ Yorùbá: ’s configured inverse label. No separate
declaration is needed on the target Entry.

Reverse relationship listings are alphabetized with letter dividers and jump navigation,
rendered in a multi-column layout. The number of columns is configurable from GazetteBuilder
Options (1-6, default 2).

#### Story support

Stories are built by organizing entries through a shared Story ID and sequence position.
This allows the plugin to group sequential content into a story arc, expose landing
and continue flow for readers, protect unreleased entries behind a release model,
and redirect readers away from unavailable story steps.

#### Semantic references

GazetteBuilder supports inline semantic links using the syntax `[[Target Entry Name]]`.
When a matching published entry exists and is release-eligible, the reference is
rendered as a link. Otherwise it remains plain text or unresolved, depending on 
site configuration.

#### Timeline and display features

The plugin supports timeline-driven output with the `[gazette_timeline]` shortcode,
including `types`, `min`, `max`, `orientation`, and `summary` attributes. Entries
are included in published timelines when they have valid sort data, release visibility,
and relevant metadata.

#### Entry-type indexes

For entry types marked as indexable, the plugin exposes public archives such as `/
entry-type/location/` and `/entry-type/character/`, sortable by title or release
date.

#### Import workflow

GazetteBuilder includes ZIP-based import support for packaged worldbuilding content,
including Markdown entry files, media files, front matter metadata, story and release
metadata, timeline sort values, semantic reference data, and relationship declarations.
The importer validates packages before creating content and reports invalid input
instead of silently importing broken data.

#### Release model

GazetteBuilder supports a release-aware visibility model: published Entries with
no Release Date are immediately readable, future Release Dates keep otherwise published
Entries hidden until they become available, and Story Entries redirect readers away
from unavailable steps.

## Àwọn àwòrán ìbòjú

[⌊GazetteBuilder Menu⌉⌊GazetteBuilder Menu⌉[

GazetteBuilder Menu

[⌊Entries list⌉⌊Entries list⌉[

Entries list

[⌊Entry editing screen with Entry Details⌉⌊Entry editing screen with Entry Details⌉[

Entry editing screen with Entry Details

[⌊Entry Types⌉⌊Entry Types⌉[

Entry Types

[⌊Relationship Definitions⌉⌊Relationship Definitions⌉[

Relationship Definitions

[⌊Editing Relationship Definitions⌉⌊Editing Relationship Definitions⌉[

Editing Relationship Definitions

[⌊Public semantic relationship/reference presentation⌉⌊Public semantic relationship/
reference presentation⌉[

Public semantic relationship/reference presentation

[⌊Timeline display⌉⌊Timeline display⌉[

Timeline display

[⌊Story landing/progression screen⌉⌊Story landing/progression screen⌉[

Story landing/progression screen

[⌊ZIP Import preview/validation⌉⌊ZIP Import preview/validation⌉[

ZIP Import preview/validation

[⌊GazetteBuilder Dashboard⌉⌊GazetteBuilder Dashboard⌉[

GazetteBuilder Dashboard

[⌊GazetteBuilder Options⌉⌊GazetteBuilder Options⌉[

GazetteBuilder Options

[⌊Missing Semantics⌉⌊Missing Semantics⌉[

Missing Semantics

[⌊Not Published⌉⌊Not Published⌉[

Not Published

## Ìgbéwọlẹ̀

 1. Upload the plugin files to the `/wp-content/plugins/gazettebuilder` directory, 
    or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the “Plugins” screen in WordPress.
 3. Flush or refresh permalinks after activation so rewrite rules are in place.
 4. Open the GazetteBuilder admin screens and begin creating Entries, Entry Types, 
    and Relationship Definitions.

## FAQ

### Does this replace the standard WordPress post editor?

No. Entries use the standard WordPress editor, with additional GazetteBuilder metadata
fields added to the edit screen.

### Can I control when an Entry becomes visible?

Yes. Each Entry can have a Release Date. Entries with an empty release date are 
immediately readable; Entries with a future release date remain hidden until that
time.

### How do I create relationships between Entries?

Define a Relationship Definition from the GazetteBuilder  Relationship Definitions
screen, then declare relationships on an Entry using the format `Relationship Name:
Target Entry`.

### Can I import existing worldbuilding content?

Yes. GazetteBuilder supports importing ZIP packages containing Markdown entry files,
media, and front matter metadata from the GazetteBuilder  Import screen.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“GazetteBuilder” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa
sí plugin yìí.

Àwọn Olùkópa

 *   [ robertjbecraft ](https://profiles.wordpress.org/robertjbecraft/)

[Túmọ̀ “GazetteBuilder” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/gazettebuilder)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/gazettebuilder/), ṣàyẹ̀wò
[ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/gazettebuilder/), tàbí ṣe àgbékalẹ̀
sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/gazettebuilder/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/gazettebuilder/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.0.0

 * Initial release.

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.0.0**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **ọ̀sẹ̀ 2 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **Tó kéré sí 10**
 *  Ẹ̀yà WordPress ** 7.1 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **7.1**
 *  Ẹ̀yà PHP ** 8.3 tàbí ju bẹ́ẹ̀ lọ **
 *  Èdè
 * [English (US)](https://wordpress.org/plugins/gazettebuilder/)
 * Àwọn àmì
 * [custom post type](https://yor.wordpress.org/plugins/tags/custom-post-type/)[storytelling](https://yor.wordpress.org/plugins/tags/storytelling/)
   [timeline](https://yor.wordpress.org/plugins/tags/timeline/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/gazettebuilder/advanced/)

## Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

[Your review](https://wordpress.org/support/plugin/gazettebuilder/reviews/#new-post)

[Wo gbogbo àwọn àgbéyẹ̀wò](https://wordpress.org/support/plugin/gazettebuilder/reviews/)

## Àwọn Olùkópa

 *   [ robertjbecraft ](https://profiles.wordpress.org/robertjbecraft/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/gazettebuilder/)

## Ṣe ìtọrẹ

Ṣé o fẹ́ ṣe àtìlẹ́yìn fún ìlọsíwájú plugin yìí?

 [ Ṣe ìtọrẹ sí plugin yìí ](https://metaphaze.com/gazettebuilder/support/)