# Create a content type

A content type groups content of the same kind, such as projects or job offers. This article shows you how to create a type, set its place on your site, edit it and remove it without losing its content.

## Before you start

- You must be an administrator of the site. The **Content types** menu does not appear to other roles.
- A content type groups content of the same kind, for example projects, job offers or properties for sale. It has its own list in the administration, its own edit screen and, if you want, a public address for each of its contents.
- To sort your content, for example by city, create a category instead. [Sort with a category](https://lovelyrender.com/documentation/sort-with-category/) explains the difference. The choice is made at creation and cannot be changed afterward.
- Like everything else, a type is created on your Staging. It reaches your live site at the next publication.

## Open the Content types screen

In the administration menu, open **Content types**. The screen has three tables.

| Table | Content | Button |
| --- | --- | --- |
| **Content types** | Your content types, such as Projects or Job offers. | **Add Post Type** |
| **Categories** | What sorts your content, such as Cities or Brands. | **Add Category** |
| **Content fields** | The data your content carries, such as a price or a surface area. [Add fields to a type](https://lovelyrender.com/documentation/add-content-fields/) details them. | **Add content field** |

Each row of a type gives its **Slug**, its technical name, and its **Label**. It also gives the number of **Published** contents, its **Menu position** and a tick when it appears in the **sitemap.xml**. Its buttons are **Edit**, **Add post**, **Export** and **Delete**.

![The Content types screen of a landscaper: Projects and Services with their published contents, Job offers marked Disabled with 3 contents kept and its Re-enable button, then the categories Cities and Garden types, which the sitemap.xml column does not tick.](https://static.lovelyrender.com/uploads/2026/10/945-doc-types-liste.png)

## Create the type

1. In **Content types**, click **Add Post Type**. The form opens in a side panel.
2. In **Singular**, enter the name of one content of the type, for example `Project`.
3. Optional: in **Plural**, enter `Projects`. Left empty, the plural is the singular followed by an “s”.
4. Optional: in **Description**, write a sentence that says what the type contains. It introduces the type in the index that AI assistants read and can appear above the archive page.
5. Set the options of the form. The section The settings of a type describes them one by one.
6. Click **Save**. The type appears in the table and in the administration menu, under its plural.

The form does not ask for a technical name. Lovely Render derives it from the singular, without accents, in lowercase and at most 20 characters long. If that name is already taken, a number is added: `project`, then `project2`.

The other labels of the administration, such as the add button or the title of the edit screen, are derived from the singular and the plural.

**Warning:** The technical name, shown in **Slug** when you edit the type, no longer changes after creation. The **URL slug** stays editable, but changing it breaks the links that led to the old addresses.

### Translate the name of the type

On a site in several languages, the **Singular**, **Plural** and **Description** fields carry the code of the main language, for example **Singular (EN)**. The **Translations** button, under them, expands the same fields and the **URL slug** for each other language. A language left empty reuses the texts of the main language.

![The top of the Projects type form: the Slug project grayed out, Singular (EN) Project, Plural (EN) Projects and the description, then the Translations button expanded on the French fields Réalisation, Réalisations, the segment realisations and the description in French. At the bottom, the Title field text Garden name.](https://static.lovelyrender.com/uploads/2026/10/948-doc-types-nom.png)

The translated segment gives its addresses to each language: `/projects/` in English, `/fr/realisations/` in French.

## The settings of a type

The form arranges its settings in sections. They decide the place of the type on your site and in the administration.

| Setting | Effect | Default value |
| --- | --- | --- |
| **Singular** | The name of one content of the type. The technical name is derived from it at creation. | None, it is required. |
| **Plural** | The name of the type in the administration menu and in the lists. | The singular followed by an “s”. |
| **Description** | A sentence that introduces the type to AI assistants and can appear above the archive page. At most 500 characters. | Empty. |
| **Title placeholder** | The text shown in the empty title of a new content, in place of “Enter the title”. | Empty. |

| Setting | Effect | Default value |
| --- | --- | --- |
| **Each item has its own page** | Each content of the type has its page on the site. Turned off, the contents appear only in the lists and filters that cite them: no page, no archive, no sitemap.xml, no site search. | On for a content type, off for a category. |
| **Show in REST API** | Opens the contents of the type in the block editor. Turned off, they open in the classic WordPress editor. | On. |
| **Hide from site search** | Removes the contents from the results of your site search. | Off. |
| **Has archive** | Adds a page that lists the contents, paginated, at the address of the type, for example `/projects/`. | Off. |
| **Hierarchical** | Lets you place a content under another, like pages. **Admin only** gives this arrangement in the administration without lengthening the public addresses. **Yes** applies it to the addresses too. **No** removes it. | **Admin only**. |
| **Features** | Chooses the editor panels from **Title**, **Content editor**, **Author**, **Featured media** and **Excerpt**. | All except the author. |

![The Visibility section of the Projects type: Each post has its own page, Expose in the REST API and Archive page turned on, Hide from site search turned off, Hierarchical on Admin only. The Features boxes are ticked except Author.](https://static.lovelyrender.com/uploads/2026/10/951-doc-types-visibilite.png)

| Setting | Effect | Default value |
| --- | --- | --- |
| **Menu icon** | The icon of the type in the administration menu, chosen from the icon library. | The icon of pages. |
| **Menu position** | The place of the type in the menu, from 7 to 54. The smaller the number, the higher the type goes. Pages are at 20. | 20. |
| **Capability type** | Who can edit and delete the contents. **page** reserves them for the roles that edit pages. **post** opens them to the roles that write posts, authors included. | **page**. |

| Setting | Effect | Default value |
| --- | --- | --- |
| **URL slug** | The part of the address specific to the type, for example `/job-offers/`. Lowercase letters, digits and hyphens. | The plural in lowercase, without accents or apostrophes: “Owner’s tips” gives `/owners-tips/`. |
| **Include in sitemap.xml** | Adds the contents to the sitemap.xml that search engines read. The sitemap.xml follows with nothing to rerun. | On. |
| **Include in the Google News sitemap.xml** | Adds the contents to the Google News sitemap.xml, which keeps only those of the last 48 hours. | Off. |

![The Appearance in the administration and URL and SEO sections of the Projects type: the trees icon, position 21 in the menu, the page capability type, the projects URL segment, Include in the sitemap.xml turned on and Google News turned off.](https://static.lovelyrender.com/uploads/2026/10/954-doc-types-apparence-url.png)

**Note:** **Hide from site search**, **Has archive**, **URL slug** and **Include in sitemap.xml** appear only if **Each item has its own page** is turned on. Their value is kept for the day you turn it back on. **Include in the Google News sitemap.xml** appears only if **Include in sitemap.xml** is turned on.

**Tip:** Reserve **Include in the Google News sitemap.xml** for a type of news published often, such as press releases. This sitemap.xml keeps only the contents of the last 48 hours.

The bottom of the form has two more sections. **Reference fields** links the type to another: [Link your content together](https://lovelyrender.com/documentation/link-contents/). **Content fields** attaches its data to it: [Add fields to a type](https://lovelyrender.com/documentation/add-content-fields/).

**Note:** Your content types do not appear in the classic WordPress menus. The menus of your site are built with the [Navigation](https://lovelyrender.com/documentation/navigation-block/) block.

## Edit a type

1. In **Content types**, click **Edit** on the row of the type. The form of the type opens in a side panel. Its first field is the **Slug**.
2. Change the settings you want. The **Slug** stays grayed out.
3. Click **Save**. The message **Saved.** appears at the top of the screen.

A content type never becomes a category, or the reverse. To change its nature, create a new type.

## Remove a type

1. In **Content types**, click **Delete** on the row of the type. A window says what will happen.
2. Click the button that the window offers: **Delete**, **Disable** or **Go back**. **Cancel** closes the window without changing anything.

![The disable window for Services: the type holds 6 entries, disabling it removes it from the site and keeps all the entries, then the Disable and Cancel buttons.](https://static.lovelyrender.com/uploads/2026/10/957-doc-types-desactiver.png)

The message at the top of the screen confirms the result. A type is not removed the same way depending on what it holds.

| The type | Button offered | Result |
| --- | --- | --- |
| Holds no content | **Delete** | The type is deleted. |
| Holds at least one content, published, draft or in the trash | **Disable** | The type leaves the site and the administration. Its contents are kept. |
| Is targeted by a reference field of another type | None | The type cannot be removed. The window names the reference fields to remove first. |
| Is shipped by Lovely Render, marked ⚙ | None | The type cannot be removed: it is shared by all sites. |
| Is your modified version of a type shipped by Lovely Render | **Go back** | Your version is deleted. The type returns as Lovely Render ships it, with its contents. |

### Re-enable a disabled type

A disabled type stays in the table with the label **Disabled** and the number of contents it keeps. Click **Reactivate** on its row: it comes back with all its contents. The message **Re-enabled, with its entries.** appears.

While it is disabled, no new type can take its technical name.

## See also

- [Sort with a category](https://lovelyrender.com/documentation/sort-with-category/)
- [Add fields to a type](https://lovelyrender.com/documentation/add-content-fields/)
- [Choose the look with templates](https://lovelyrender.com/documentation/decide-look-templates/)
- [Reuse a structure from one site to another](https://lovelyrender.com/documentation/reuse-structure-between-sites/)
