---
title: "WYSIWYG Field in WordPress"
url: https://nexterwp.com/docs/wordpress-wysiwyg-field/
date: 2026-11-12
modified: 2026-11-12
lang: en
author: "Aditya Sharma"
description: "A WYSIWYG field gives editors the familiar WordPress rich-text editor inside a field group, so a description can have paragraphs, bold text, lists and links without anyone writing HTML. What..."
image: https://nexterwp.com/wp-content/uploads/2026/09/wordpress-wysiwyg-field-1024x519.jpg
word_count: 457
---

# WYSIWYG Field in WordPress

## Key Takeaways

- Nexter Extension 4.9.0 ofrece un campo WYSIWYG que guarda HTML formateado y permite párrafos, texto en negrita, listas y enlaces dentro de un grupo de campos.
- El campo se añade en Nexter → Content Fields, pestaña Group Fields, con Field Label como Full description y Field Type como WYSIWYG Editor; también admite Default Value para nuevos contenidos.
- El valor se muestra con wp_kses_post() y no con esc_html(), porque el contenido es HTML; además, los shortcodes no se ejecutan automáticamente y requieren do_shortcode().

A **WYSIWYG field** gives editors the familiar WordPress rich-text editor inside a field group, so a description can have paragraphs, bold text, lists and links without anyone writing HTML.

## What It Does

The field stores formatted HTML. It suits content that is genuinely prose but does not belong in the main post body — a specification section, a long description, terms shown in a particular place.

## Before You Start

- Nexter Extension is installed and active.- Content Fields is enabled under **Nexter → Content Fields**.- You have a field group, or are about to create one.

## Add a WYSIWYG Field

- Go to **Nexter → Content Fields** and open the **Group Fields** tab.

- Open a field group, or create a new one.

- Click **Add Field**.

![A field group open with the Add Field button](https://nexterwp.com/wp-content/uploads/2026/09/nxt-fields-h-shared-add-field.webp)

- Set **Field Label** to *Full description*. The **Field Name** fills in automatically and is what you use in code.

- Set **Field Type** to **WYSIWYG Editor**.

![The Field Type dropdown listing the available field types](https://nexterwp.com/wp-content/uploads/2026/09/nxt-fields-h-shared-field-type.webp)

- Set a **Default Value** if new posts should start with boilerplate.

![The WYSIWYG Editor field settings in the Content Fields builder](https://nexterwp.com/wp-content/uploads/2026/09/nxt-fields-h-description-settings.webp)

- Click **Update**.

![The WYSIWYG Editor field as it appears on the post editing screen](https://nexterwp.com/wp-content/uploads/2026/09/nxt-fields-h-description-editor.webp)

## Field Settings

Every field is configured across four tabs. These are the settings this field type offers, read from the field group builder in Nexter Extension 4.9.0.

### General

| Setting | Options | What it does |
| ------- | ------- | ------------ |
| **Default Value** | | *No help text in the UI.* |

### Validation

| Setting | Options | What it does |
| ------- | ------- | ------------ |
| **Required** | | *No help text in the UI.* |

### Presentation

| Setting | Options | What it does |
| ------- | ------- | ------------ |
| **Instructions** | | *No help text in the UI.* |
| **Tabs** | `Visual & Text`, `Visual Only`, `Text Only` | *No help text in the UI.* |
| **Toolbar** | `Full`, `Basic` | *No help text in the UI.* |
| **Show media buttons** | | Display the Add Media button above the editor |
| **Delay Initialization** | | TinyMCE will not be initialized until the field is clicked |
| **Placeholder Text** | | *No help text in the UI.* |
| **Wrapper Attributes** | | *No help text in the UI.* |

### Conditional Logic

| Setting | Options | What it does |
| ------- | ------- | ------------ |
| **Conditional Logic** | | *No help text in the UI.* |

## When to Use It

- A long description separate from the post body.- Care or usage instructions on a product.- Terms or disclaimers rendered in a fixed position.

## Display the Value

The value is HTML, so it must not be escaped with `esc_html()` — that would print the tags. Run it through the same filter WordPress uses for post content:

`<?php
$html = nxt_field_value( 'description' );
if ( $html ) {
echo wp_kses_post( $html );
}`

## Limitations

- Because the value is HTML, it is the one field type where careless output can introduce markup you did not intend. Always pass it through `wp_kses_post()` rather than echoing it raw.- Shortcodes are not run automatically. Wrap the value in `do_shortcode()` if you need them.

## Troubleshooting

### The front end shows tags such as &lt;p&gt; instead of formatted text

The value is being escaped with `esc_html()`. Use `wp_kses_post()` instead, as in the example above.

### Paragraph breaks disappear

If you strip tags anywhere in your own processing, the formatting goes with them. Pass the stored value straight to `wp_kses_post()`.

## Related Docs

- [Create your first field group](https://nexterwp.com/docs/create-a-field-group-wordpress/)- [Display a field value on the front end](https://nexterwp.com/docs/display-custom-field-value-wordpress/)

## Frequently Asked Questions

**Q: Why is my WordPress WYSIWYG field showing tags on the front end?**
A: That usually means the value is being escaped with esc_html(), which turns formatted HTML into visible tags. The field stores HTML, so it needs to be output with wp_kses_post() instead. In Nexter Extension, that keeps paragraphs, bold text, lists, and links intact while still filtering unsafe markup. A common mistake is treating it like plain text, which breaks the rich-text output.

**Q: How do I display a WYSIWYG field value in WordPress without losing formatting?**
A: The value should be passed through the same filter WordPress uses for post content: wp_kses_post(). The example on the page uses nxt_field_value( 'description' ) and then echoes the filtered HTML. That matters because this field type stores formatted HTML, not plain text. If you print it raw or strip tags first, you lose the editor formatting that made the field useful in the first place. [Display a field value on the front end](https://nexterwp.com/docs/display-custom-field-value-wordpress/)

**Q: When should I use a WYSIWYG field instead of the main post editor?**
A: A WYSIWYG field fits content that is prose but belongs somewhere specific, not in the main post body. The page calls out a specification section, a long description, care or usage instructions on a product, and terms or disclaimers shown in a fixed position. That makes it useful when you need rich text in a controlled spot rather than another full content area.

**Q: What are the limitations of a WYSIWYG field in Nexter?**
A: The biggest limitation is that it stores HTML, so careless output can introduce markup you did not intend. The safe pattern is to pass it through wp_kses_post() instead of echoing it raw. Shortcodes are another gotcha: they are not run automatically, so you need do_shortcode() if you want them processed. That makes this field powerful, but also easier to break if you treat it like plain text.

**Q: What settings can I control for a WYSIWYG field?**
A: Nexter Extension 4.9.0 exposes four setting areas for this field type: General, Validation, Presentation, and Conditional Logic. Under Presentation, you can choose Tabs as Visual & Text, Visual Only, or Text Only; pick Toolbar as Full or Basic; show media buttons; delay TinyMCE initialization until the field is clicked; and set placeholder text or wrapper attributes. Those options matter because they change both editor behavior and how much UI clutter authors see.

**Q: Why do paragraph breaks disappear from my WYSIWYG field output?**
A: That usually happens when your code strips tags before rendering the value. Paragraphs live in the HTML stored by the field, so removing tags removes the formatting too. The safer pattern is to pass the stored value straight to wp_kses_post(), which preserves allowed markup while filtering unsafe HTML. If you need shortcodes too, wrap the value in do_shortcode() after that.
