Title: {$kind,}
Published: August 20, 2026

---

# apply_filters( “{$kind,}”, WP_View_Config_Data $data, array $entity )

## In this article

 * [Description](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#wp--skip-link--target)

Filters the view configuration for a given entity.

## 󠀁[Description](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#description)󠁿

The dynamic portions of the hook name, `$kind` and `$name`, refer to the entity 
kind (e.g. `postType`) and the entity name (e.g. `page`), lowercased — so the `postType`/`
page` entity maps to the `get_entity_view_config_posttype_page` hook.

Callbacks receive a [WP_View_Config_Data](https://developer.wordpress.org/reference/classes/wp_view_config_data/)
object and change the configuration through its methods. Each write method takes
the schema version the change was authored against as its second argument, and returns
the object for chaining:

 * `merge( $patch, $version )` merges a partial change into the current configuration.
   It touches only the top-level keys the patch names, and merges each named value
   into the current one by shape: a scalar replaces, an associative array merges
   key by key, and a list merges by member identity (`id`, `slug`, or `field`). 
   A `null` value drops the key it names, resetting it to its default.
 * `replace( $patch, $version )` applies a patch exactly like `merge()`, but swaps
   any list it names wholesale instead of merging that list by member identity.
 * `set( $patch, $version )` also touches only the keys the patch names, but swaps
   each named value in wholesale, dropping whatever the key held before — for a 
   callback that owns those keys outright.
 * `remove( $spec, $version )` deletes named properties. The spec mirrors the configuration
   shape: a list of names deletes entries at that level, and a nested map recurses
   to prune from within a named value, down to individual list members.

A change that declares an unsupported schema version is rejected and does not alter
anything. As with any filter, each callback’s return value is passed to the next
callback as `$data`, so callbacks must return the container they received: a callback
that returns nothing, or any other value, hands that result to every callback hooked
at a later priority instead of the container. Since the write methods return the
container, a callback can end with `return $data->merge( $patch, $version );`.

## 󠀁[Parameters](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#parameters)󠁿

 `$data`[WP_View_Config_Data](https://developer.wordpress.org/reference/classes/wp_view_config_data/)

The view configuration container for the entity, exposing the `default_view`, `default_layouts`,`
view_list`, and `form` keys.

`$entity`array

The entity the configuration is built for.

 * `kind` string
 * The entity kind.
 * `name` string
 * The entity name.

## 󠀁[Source](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#source)󠁿

    ```php
    apply_filters(
    	wp_get_entity_view_config_hook_name( $kind, $name ),
    	$this,
    	array(
    		'kind' => $kind,
    		'name' => $name,
    	)
    );
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/class-wp-view-config-data.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/class-wp-view-config-data.php#L187)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/class-wp-view-config-data.php#L187-L194)

## 󠀁[Related](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#related)󠁿

| Used by | Description | 
| [WP_View_Config_Data::apply_filters()](https://developer.wordpress.org/reference/classes/wp_view_config_data/apply_filters/)`wp-includes/class-wp-view-config-data.php` |

Applies the entity view configuration filter and returns the result.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/hooks/kind/?output_format=md#changelog)󠁿

| Version | Description | 
| [7.1.0](https://developer.wordpress.org/reference/since/7.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Fkind%2F)
before being able to contribute a note or feedback.