diff --git a/tests/docs/wordpress-hooks.md b/tests/docs/wordpress-hooks.md
index a7a05c2..8c9649b 100644
--- a/tests/docs/wordpress-hooks.md
+++ b/tests/docs/wordpress-hooks.md
@@ -3836,13 +3836,21 @@ Source: [wordpress/wp-admin/includes/class-wp-screen.php](../../wordpress/wp-adm
### `pre_user_search`
+*Prepares the user search query (legacy).*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array(&$this)` | |
-Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 557](../../wordpress/wp-admin/includes/deprecated.php#L557-L557)
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.1.0` |
+
+Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 522](../../wordpress/wp-admin/includes/deprecated.php#L522-L557)
### `wp_create_file_in_uploads`
@@ -9510,13 +9518,25 @@ Source: [wordpress/wp-includes/option.php](../../wordpress/wp-includes/option.ph
### `{$hook_name}`
+*Fires functions attached to a deprecated action hook.*
+
+When an action hook is deprecated, the do_action() call is replaced with
+do_action_deprecated(), which triggers a deprecation notice and then fires
+the original hook.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$args` | |
+`$args` | `array` | Array of additional function arguments to be passed to do_action().
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.6.0` |
-Source: [wordpress/wp-includes/plugin.php](../../wordpress/wp-includes/plugin.php), [line 691](../../wordpress/wp-includes/plugin.php#L691-L691)
+Source: [wordpress/wp-includes/plugin.php](../../wordpress/wp-includes/plugin.php), [line 667](../../wordpress/wp-includes/plugin.php#L667-L691)
### `begin_fetch_post_thumbnail_html`
@@ -15885,68 +15905,126 @@ Source: [wordpress/wp-includes/customize/class-wp-customize-selective-refresh.ph
### `delete_usermeta`
+*Remove user meta data.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$cur->umeta_id` | |
-`$user_id` | |
-`$meta_key` | |
-`$meta_value` | |
+`$user_id` | `int` | User ID.
+`$meta_key` | `string` | Metadata key.
+`$meta_value` | `mixed` | Optional. Metadata value. Default empty.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.0.0` |
-Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2239](../../wordpress/wp-includes/deprecated.php#L2239-L2239)
+Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2213](../../wordpress/wp-includes/deprecated.php#L2213-L2239)
### `deleted_usermeta`
+*Remove user meta data.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$cur->umeta_id` | |
-`$user_id` | |
-`$meta_key` | |
-`$meta_value` | |
+`$user_id` | `int` | User ID.
+`$meta_key` | `string` | Metadata key.
+`$meta_value` | `mixed` | Optional. Metadata value. Default empty.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.0.0` |
-Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2250](../../wordpress/wp-includes/deprecated.php#L2250-L2250)
+Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2213](../../wordpress/wp-includes/deprecated.php#L2213-L2250)
### `update_usermeta`
+*Update metadata of user.*
+
+There is no need to serialize values, they will be serialized if it is
+needed. The metadata key can only be a string with underscores. All else will
+be removed.
+
+Will remove the metadata, if the meta value is empty.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$cur->umeta_id` | |
-`$user_id` | |
-`$meta_key` | |
-`$meta_value` | |
+`$user_id` | `int` | User ID
+`$meta_key` | `string` | Metadata key.
+`$meta_value` | `mixed` | Metadata value.
+
+**Changelog**
-Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2343](../../wordpress/wp-includes/deprecated.php#L2343-L2343)
+Version | Description
+------- | -----------
+`2.0.0` |
+
+Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2306](../../wordpress/wp-includes/deprecated.php#L2306-L2343)
### `added_usermeta`
+*Update metadata of user.*
+
+There is no need to serialize values, they will be serialized if it is
+needed. The metadata key can only be a string with underscores. All else will
+be removed.
+
+Will remove the metadata, if the meta value is empty.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$wpdb->insert_id` | |
-`$user_id` | |
-`$meta_key` | |
-`$meta_value` | |
+`$user_id` | `int` | User ID
+`$meta_key` | `string` | Metadata key.
+`$meta_value` | `mixed` | Metadata value.
+
+**Changelog**
-Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2356](../../wordpress/wp-includes/deprecated.php#L2356-L2356)
+Version | Description
+------- | -----------
+`2.0.0` |
+
+Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2306](../../wordpress/wp-includes/deprecated.php#L2306-L2356)
### `updated_usermeta`
+*Update metadata of user.*
+
+There is no need to serialize values, they will be serialized if it is
+needed. The metadata key can only be a string with underscores. All else will
+be removed.
+
+Will remove the metadata, if the meta value is empty.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$cur->umeta_id` | |
-`$user_id` | |
-`$meta_key` | |
-`$meta_value` | |
+`$user_id` | `int` | User ID
+`$meta_key` | `string` | Metadata key.
+`$meta_value` | `mixed` | Metadata value.
-Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2358](../../wordpress/wp-includes/deprecated.php#L2358-L2358)
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.0.0` |
+
+Source: [wordpress/wp-includes/deprecated.php](../../wordpress/wp-includes/deprecated.php), [line 2306](../../wordpress/wp-includes/deprecated.php#L2306-L2358)
### `login_enqueue_scripts`
@@ -16678,13 +16756,15 @@ Source: [wordpress/wp-admin/edit-form-advanced.php](../../wordpress/wp-admin/edi
### `admin_email_remind_interval`
+*This filter is documented in wp-login.php*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`3 * DAY_IN_SECONDS` | |
-Source: [wordpress/wp-admin/index.php](../../wordpress/wp-admin/index.php), [line 146](../../wordpress/wp-admin/index.php#L146-L146)
+Source: [wordpress/wp-admin/index.php](../../wordpress/wp-admin/index.php), [line 145](../../wordpress/wp-admin/index.php#L145-L146)
### `theme_auto_update_setting_template`
@@ -17214,23 +17294,15 @@ Source: [wordpress/wp-admin/includes/class-wp-users-list-table.php](../../wordpr
### `manage_users_custom_column`
-*Filters the display output of custom columns in the Users list table.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`''` | |
-`$column_name` | `string` | Column name.
+`$column_name` | |
`$user_object->ID` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.8.0` |
-
-Source: [wordpress/wp-admin/includes/class-wp-users-list-table.php](../../wordpress/wp-admin/includes/class-wp-users-list-table.php), [line 583](../../wordpress/wp-admin/includes/class-wp-users-list-table.php#L583-L592)
+Source: [wordpress/wp-admin/includes/class-wp-users-list-table.php](../../wordpress/wp-admin/includes/class-wp-users-list-table.php), [line 592](../../wordpress/wp-admin/includes/class-wp-users-list-table.php#L592-L592)
### `get_role_list`
@@ -17805,129 +17877,73 @@ Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/inc
### `dashboard_primary_link`
-*Filters the primary link URL for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`__('https://wordpress.org/news/')` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.5.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1505](../../wordpress/wp-admin/includes/dashboard.php#L1505-L1512)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1512](../../wordpress/wp-admin/includes/dashboard.php#L1512-L1512)
### `dashboard_primary_feed`
-*Filters the primary feed URL for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`__('https://wordpress.org/news/feed/')` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.3.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1514](../../wordpress/wp-admin/includes/dashboard.php#L1514-L1521)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1521](../../wordpress/wp-admin/includes/dashboard.php#L1521-L1521)
### `dashboard_primary_title`
-*Filters the primary link title for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`__('WordPress Blog')` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.3.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1523](../../wordpress/wp-admin/includes/dashboard.php#L1523-L1530)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1530](../../wordpress/wp-admin/includes/dashboard.php#L1530-L1530)
### `dashboard_secondary_link`
-*Filters the secondary link URL for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`__('https://planet.wordpress.org/')` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.3.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1538](../../wordpress/wp-admin/includes/dashboard.php#L1538-L1545)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1545](../../wordpress/wp-admin/includes/dashboard.php#L1545-L1545)
### `dashboard_secondary_feed`
-*Filters the secondary feed URL for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`__('https://planet.wordpress.org/feed/')` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.3.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1547](../../wordpress/wp-admin/includes/dashboard.php#L1547-L1554)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1554](../../wordpress/wp-admin/includes/dashboard.php#L1554-L1554)
### `dashboard_secondary_title`
-*Filters the secondary link title for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`__('Other WordPress News')` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.3.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1556](../../wordpress/wp-admin/includes/dashboard.php#L1556-L1563)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1563](../../wordpress/wp-admin/includes/dashboard.php#L1563-L1563)
### `dashboard_secondary_items`
-*Filters the number of secondary link items for the 'WordPress Events and News' dashboard widget.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`3` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`4.4.0` |
-
-Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1565](../../wordpress/wp-admin/includes/dashboard.php#L1565-L1572)
+Source: [wordpress/wp-admin/includes/dashboard.php](../../wordpress/wp-admin/includes/dashboard.php), [line 1572](../../wordpress/wp-admin/includes/dashboard.php#L1572-L1572)
### `browse-happy-notice`
@@ -17973,36 +17989,60 @@ Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes
### `default_content`
+*Filters the default post content initially used in the "Write Post" form.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$post_content` | |
-`$post` | |
+`$post_content` | `string` | Default post content.
+`$post` | `\WP_Post` | Post object.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`1.5.0` |
-Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes/post.php), [line 742](../../wordpress/wp-admin/includes/post.php#L742-L742)
+Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes/post.php), [line 734](../../wordpress/wp-admin/includes/post.php#L734-L742)
### `default_title`
+*Filters the default post title initially used in the "Write Post" form.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$post_title` | |
-`$post` | |
+`$post_title` | `string` | Default post title.
+`$post` | `\WP_Post` | Post object.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`1.5.0` |
-Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes/post.php), [line 752](../../wordpress/wp-admin/includes/post.php#L752-L752)
+Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes/post.php), [line 744](../../wordpress/wp-admin/includes/post.php#L744-L752)
### `default_excerpt`
+*Filters the default post excerpt initially used in the "Write Post" form.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$post_excerpt` | |
-`$post` | |
+`$post_excerpt` | `string` | Default post excerpt.
+`$post` | `\WP_Post` | Post object.
+
+**Changelog**
-Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes/post.php), [line 762](../../wordpress/wp-admin/includes/post.php#L762-L762)
+Version | Description
+------- | -----------
+`1.5.0` |
+
+Source: [wordpress/wp-admin/includes/post.php](../../wordpress/wp-admin/includes/post.php), [line 754](../../wordpress/wp-admin/includes/post.php#L754-L762)
### `edit_{$post_type}_per_page`
@@ -18420,14 +18460,23 @@ Source: [wordpress/wp-admin/includes/class-plugin-installer-skin.php](../../word
### `editable_extensions`
+*Filters the list of file types allowed for editing in the plugin file editor.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$default_types` | |
-`$plugin` | |
+`$default_types` | `string[]` | An array of editable plugin file extensions.
+`$plugin` | `string` | Path to the plugin file relative to the plugins directory.
+
+**Changelog**
-Source: [wordpress/wp-admin/includes/file.php](../../wordpress/wp-admin/includes/file.php), [line 234](../../wordpress/wp-admin/includes/file.php#L234-L234)
+Version | Description
+------- | -----------
+`4.9.0` | Added the `$plugin` parameter.
+`2.8.0` |
+
+Source: [wordpress/wp-admin/includes/file.php](../../wordpress/wp-admin/includes/file.php), [line 225](../../wordpress/wp-admin/includes/file.php#L225-L234)
### `wp_theme_editor_filetypes`
@@ -18997,13 +19046,21 @@ Source: [wordpress/wp-admin/includes/export.php](../../wordpress/wp-admin/includ
### `plugin_files_exclusions`
+*Filters the array of excluded directories and files while scanning the folder.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array('CVS', 'node_modules', 'vendor', 'bower_components')` | |
-Source: [wordpress/wp-admin/includes/plugin.php](../../wordpress/wp-admin/includes/plugin.php), [line 240](../../wordpress/wp-admin/includes/plugin.php#L240-L240)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.9.0` |
+
+Source: [wordpress/wp-admin/includes/plugin.php](../../wordpress/wp-admin/includes/plugin.php), [line 233](../../wordpress/wp-admin/includes/plugin.php#L233-L240)
### `themes_api_args`
@@ -19073,15 +19130,26 @@ Source: [wordpress/wp-admin/includes/theme.php](../../wordpress/wp-admin/include
### `pre_prepare_themes_for_js`
+*Filters theme data before it is prepared for JavaScript.*
+
+Passing a non-empty array will result in wp_prepare_themes_for_js() returning
+early with that value instead.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array()` | |
-`$themes` | |
-`$current_theme` | |
+`$themes` | `\WP_Theme[]\|null` | An array of theme objects to prepare, if any.
+`$current_theme` | `string` | The current theme slug.
+
+**Changelog**
-Source: [wordpress/wp-admin/includes/theme.php](../../wordpress/wp-admin/includes/theme.php), [line 658](../../wordpress/wp-admin/includes/theme.php#L658-L658)
+Version | Description
+------- | -----------
+`4.2.0` |
+
+Source: [wordpress/wp-admin/includes/theme.php](../../wordpress/wp-admin/includes/theme.php), [line 646](../../wordpress/wp-admin/includes/theme.php#L646-L658)
### `wp_prepare_themes_for_js`
@@ -19105,13 +19173,15 @@ Source: [wordpress/wp-admin/includes/theme.php](../../wordpress/wp-admin/include
### `illegal_user_logins`
+*This filter is documented in wp-includes/user.php*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array()` | |
-Source: [wordpress/wp-admin/includes/user.php](../../wordpress/wp-admin/includes/user.php), [line 193](../../wordpress/wp-admin/includes/user.php#L193-L193)
+Source: [wordpress/wp-admin/includes/user.php](../../wordpress/wp-admin/includes/user.php), [line 192](../../wordpress/wp-admin/includes/user.php#L192-L193)
### `editable_roles`
@@ -19711,13 +19781,15 @@ Source: [wordpress/wp-admin/includes/class-walker-category-checklist.php](../../
### `user_request_key_expiration`
+*This filter is documented in wp-includes/user.php*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`DAY_IN_SECONDS` | |
-Source: [wordpress/wp-admin/includes/privacy-tools.php](../../wordpress/wp-admin/includes/privacy-tools.php), [line 197](../../wordpress/wp-admin/includes/privacy-tools.php#L197-L197)
+Source: [wordpress/wp-admin/includes/privacy-tools.php](../../wordpress/wp-admin/includes/privacy-tools.php), [line 196](../../wordpress/wp-admin/includes/privacy-tools.php#L196-L197)
### `wp_privacy_export_expiration`
@@ -20459,15 +20531,23 @@ Source: [wordpress/wp-admin/includes/ajax-actions.php](../../wordpress/wp-admin/
### `term_search_min_chars`
+*Filters the minimum number of characters required to fire a tag search via Ajax.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`2` | |
-`$tax` | |
-`$s` | |
+`$tax` | `\WP_Taxonomy` | The taxonomy object.
+`$s` | `string` | The search term.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.0.0` |
-Source: [wordpress/wp-admin/includes/ajax-actions.php](../../wordpress/wp-admin/includes/ajax-actions.php), [line 145](../../wordpress/wp-admin/includes/ajax-actions.php#L145-L145)
+Source: [wordpress/wp-admin/includes/ajax-actions.php](../../wordpress/wp-admin/includes/ajax-actions.php), [line 136](../../wordpress/wp-admin/includes/ajax-actions.php#L136-L145)
### `autocomplete_users_for_site_admins`
@@ -22200,22 +22280,13 @@ Source: [wordpress/wp-admin/includes/class-wp-comments-list-table.php](../../wor
### `all_themes`
-*Filters the full array of WP_Theme objects to list in the Multisite
-themes list table.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`wp_get_themes()` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`3.1.0` |
-
-Source: [wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php](../../wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php), [line 106](../../wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php#L106-L114)
+Source: [wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php](../../wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php), [line 114](../../wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php#L114-L114)
### `theme_action_links`
@@ -23075,13 +23146,38 @@ Source: [wordpress/wp-admin/includes/class-wp-list-table.php](../../wordpress/wp
### `{$option}`
+*Filters the number of items to be displayed on each page of the list table.*
+
+The dynamic hook name, `$option`, refers to the `per_page` option depending
+on the type of list table in use. Possible filter names include:
+
+ - `edit_comments_per_page`
+ - `sites_network_per_page`
+ - `site_themes_network_per_page`
+ - `themes_network_per_page'`
+ - `users_network_per_page`
+ - `edit_post_per_page`
+ - `edit_page_per_page'`
+ - `edit_{$post_type}_per_page`
+ - `edit_post_tag_per_page`
+ - `edit_category_per_page`
+ - `edit_{$taxonomy}_per_page`
+ - `site_users_network_per_page`
+ - `users_per_page`
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$per_page` | |
+`$per_page` | `int` | Number of items to be displayed. Default 20.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.9.0` |
-Source: [wordpress/wp-admin/includes/class-wp-list-table.php](../../wordpress/wp-admin/includes/class-wp-list-table.php), [line 874](../../wordpress/wp-admin/includes/class-wp-list-table.php#L874-L874)
+Source: [wordpress/wp-admin/includes/class-wp-list-table.php](../../wordpress/wp-admin/includes/class-wp-list-table.php), [line 850](../../wordpress/wp-admin/includes/class-wp-list-table.php#L850-L874)
### `list_table_primary_column`
@@ -23315,14 +23411,27 @@ Source: [wordpress/wp-admin/includes/misc.php](../../wordpress/wp-admin/includes
### `wp_is_php_version_acceptable`
+*Filters whether the active PHP version is considered acceptable by WordPress.*
+
+Returning false will trigger a PHP version warning to show up in the admin dashboard to administrators.
+
+This filter is only run if the wordpress.org Serve Happy API considers the PHP version acceptable, ensuring
+that this filter can only make this check stricter, but not loosen it.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`true` | |
-`$version` | |
+`$version` | `string` | PHP version checked.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.1.1` |
-Source: [wordpress/wp-admin/includes/misc.php](../../wordpress/wp-admin/includes/misc.php), [line 1498](../../wordpress/wp-admin/includes/misc.php#L1498-L1498)
+Source: [wordpress/wp-admin/includes/misc.php](../../wordpress/wp-admin/includes/misc.php), [line 1485](../../wordpress/wp-admin/includes/misc.php#L1485-L1498)
### `all_plugins`
@@ -23710,16 +23819,30 @@ Source: [wordpress/wp-admin/includes/image.php](../../wordpress/wp-admin/include
### `big_image_size_threshold`
+*Filters the "BIG image" threshold value.*
+
+If the original image width or height is above the threshold, it will be scaled down. The threshold is
+used as max width and max height. The scaled down image will be used as the largest available size, including
+the `_wp_attached_file` post meta value.
+
+Returning `false` from the filter callback will disable the scaling.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`2560` | |
-`$imagesize` | |
-`$file` | |
-`$attachment_id` | |
+`$imagesize` | `array` | {
Indexed array of the image width and height in pixels.
@type int $0 The image width.
@type int $1 The image height.
}
+`$file` | `string` | Full path to the uploaded image file.
+`$attachment_id` | `int` | Attachment post ID.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.3.0` |
-Source: [wordpress/wp-admin/includes/image.php](../../wordpress/wp-admin/includes/image.php), [line 275](../../wordpress/wp-admin/includes/image.php#L275-L275)
+Source: [wordpress/wp-admin/includes/image.php](../../wordpress/wp-admin/includes/image.php), [line 254](../../wordpress/wp-admin/includes/image.php#L254-L275)
### `intermediate_image_sizes_advanced`
@@ -24269,33 +24392,51 @@ Source: [wordpress/wp-admin/includes/class-wp-debug-data.php](../../wordpress/wp
### `get_editable_authors`
+*Gets author users who can edit posts.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$authors` | |
-Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 270](../../wordpress/wp-admin/includes/deprecated.php#L270-L270)
+Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 246](../../wordpress/wp-admin/includes/deprecated.php#L246-L270)
### `get_others_drafts`
+*Retrieves editable posts from other users.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$other_unpubs` | |
-Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 710](../../wordpress/wp-admin/includes/deprecated.php#L710-L710)
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.3.0` |
+
+Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 675](../../wordpress/wp-admin/includes/deprecated.php#L675-L710)
### `wp_create_thumbnail`
+*This was once used to create a thumbnail from an Image given a maximum side size.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`image_resize($file, $max_side, $max_side)` | |
-Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 1132](../../wordpress/wp-admin/includes/deprecated.php#L1132-L1132)
+**Changelog**
+
+Version | Description
+------- | -----------
+`1.2.0` |
+
+Source: [wordpress/wp-admin/includes/deprecated.php](../../wordpress/wp-admin/includes/deprecated.php), [line 1118](../../wordpress/wp-admin/includes/deprecated.php#L1118-L1132)
### `image_size_names_choose`
@@ -24507,8 +24648,6 @@ Source: [wordpress/wp-admin/edit-tags.php](../../wordpress/wp-admin/edit-tags.ph
### `the_category`
-*This filter is documented in wp-includes/category-template.php*
-
**Arguments**
Argument | Type | Description
@@ -24517,7 +24656,7 @@ Argument | Type | Description
`''` | |
`''` | |
-Source: [wordpress/wp-admin/edit-tags.php](../../wordpress/wp-admin/edit-tags.php), [line 624](../../wordpress/wp-admin/edit-tags.php#L624-L625)
+Source: [wordpress/wp-admin/edit-tags.php](../../wordpress/wp-admin/edit-tags.php), [line 625](../../wordpress/wp-admin/edit-tags.php#L625-L625)
### `async_upload_{$type}`
@@ -24602,14 +24741,23 @@ Source: [wordpress/wp-admin/options-writing.php](../../wordpress/wp-admin/option
### `users_have_additional_content`
+*Filters whether the users being deleted have additional content
+associated with them outside of the `post_author` and `link_owner` relationships.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`false` | |
-`$userids` | |
+`$userids` | `int[]` | Array of IDs for users being deleted.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.2.0` |
-Source: [wordpress/wp-admin/users.php](../../wordpress/wp-admin/users.php), [line 299](../../wordpress/wp-admin/users.php#L299-L299)
+Source: [wordpress/wp-admin/users.php](../../wordpress/wp-admin/users.php), [line 290](../../wordpress/wp-admin/users.php#L290-L299)
### `handle_bulk_actions-{$screen}`
@@ -24627,13 +24775,21 @@ Source: [wordpress/wp-admin/users.php](../../wordpress/wp-admin/users.php), [lin
### `thread_comments_depth_max`
+*Filters the maximum depth of threaded/nested comments.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`10` | |
-Source: [wordpress/wp-admin/options-discussion.php](../../wordpress/wp-admin/options-discussion.php), [line 107](../../wordpress/wp-admin/options-discussion.php#L107-L107)
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.7.0` |
+
+Source: [wordpress/wp-admin/options-discussion.php](../../wordpress/wp-admin/options-discussion.php), [line 100](../../wordpress/wp-admin/options-discussion.php#L100-L107)
### `avatar_defaults`
@@ -24992,8 +25148,6 @@ Source: [wordpress/wp-admin/site-health.php](../../wordpress/wp-admin/site-healt
### `default_page_template_title`
-*This filter is documented in wp-admin/includes/meta-boxes.php*
-
**Arguments**
Argument | Type | Description
@@ -25001,7 +25155,7 @@ Argument | Type | Description
`__('Default template')` | |
`'rest-api'` | |
-Source: [wordpress/wp-admin/edit-form-blocks.php](../../wordpress/wp-admin/edit-form-blocks.php), [line 134](../../wordpress/wp-admin/edit-form-blocks.php#L134-L135)
+Source: [wordpress/wp-admin/edit-form-blocks.php](../../wordpress/wp-admin/edit-form-blocks.php), [line 135](../../wordpress/wp-admin/edit-form-blocks.php#L135-L135)
### `show_post_locked_dialog`
@@ -25039,8 +25193,6 @@ Source: [wordpress/wp-admin/edit-form-blocks.php](../../wordpress/wp-admin/edit-
### `enter_title_here`
-*This filter is documented in wp-admin/edit-form-advanced.php*
-
**Arguments**
Argument | Type | Description
@@ -25048,7 +25200,7 @@ Argument | Type | Description
`__('Add title')` | |
`$post` | |
-Source: [wordpress/wp-admin/edit-form-blocks.php](../../wordpress/wp-admin/edit-form-blocks.php), [line 190](../../wordpress/wp-admin/edit-form-blocks.php#L190-L191)
+Source: [wordpress/wp-admin/edit-form-blocks.php](../../wordpress/wp-admin/edit-form-blocks.php), [line 191](../../wordpress/wp-admin/edit-form-blocks.php#L191-L191)
### `block_editor_no_javascript_message`
@@ -25348,13 +25500,21 @@ Source: [wordpress/wp-includes/functions.php](../../wordpress/wp-includes/functi
### `nocache_headers`
+*Filters the cache-controlling headers.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$headers` | |
+`$headers` | `array` | {
Header names and field values.
@type string $Expires Expires header.
@type string $Cache-Control Cache-Control header.
}
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.8.0` |
-Source: [wordpress/wp-includes/functions.php](../../wordpress/wp-includes/functions.php), [line 1484](../../wordpress/wp-includes/functions.php#L1484-L1484)
+Source: [wordpress/wp-includes/functions.php](../../wordpress/wp-includes/functions.php), [line 1470](../../wordpress/wp-includes/functions.php#L1470-L1484)
### `robots_txt`
@@ -25915,13 +26075,21 @@ Source: [wordpress/wp-includes/functions.php](../../wordpress/wp-includes/functi
### `get_main_network_id`
+*Filters the main network ID.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$main_network_id` | |
+`$main_network_id` | `int` | The ID of the main network.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.3.0` |
-Source: [wordpress/wp-includes/functions.php](../../wordpress/wp-includes/functions.php), [line 6157](../../wordpress/wp-includes/functions.php#L6157-L6157)
+Source: [wordpress/wp-includes/functions.php](../../wordpress/wp-includes/functions.php), [line 6150](../../wordpress/wp-includes/functions.php#L6150-L6157)
### `global_terms_enabled`
@@ -27853,15 +28021,26 @@ Source: [wordpress/wp-includes/revision.php](../../wordpress/wp-includes/revisio
### `wp_save_post_revision_post_has_changed`
+*Filters whether a post has changed.*
+
+By default a revision is saved only if one of the revisioned fields has changed.
+This filter allows for additional checks to determine if there were changes.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$post_has_changed` | |
-`$last_revision` | |
-`$post` | |
+`$post_has_changed` | `bool` | Whether the post has changed.
+`$last_revision` | `\WP_Post` | The last revision post object.
+`$post` | `\WP_Post` | The post object.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.1.0` |
-Source: [wordpress/wp-includes/revision.php](../../wordpress/wp-includes/revision.php), [line 181](../../wordpress/wp-includes/revision.php#L181-L181)
+Source: [wordpress/wp-includes/revision.php](../../wordpress/wp-includes/revision.php), [line 169](../../wordpress/wp-includes/revision.php#L169-L181)
### `wp_revisions_to_keep`
@@ -28415,17 +28594,27 @@ Source: [wordpress/wp-includes/taxonomy.php](../../wordpress/wp-includes/taxonom
### `wp_update_term_parent`
+*Filters the term parent.*
+
+Hook to this filter to see if it will cause a hierarchy loop.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$args['parent']` | |
-`$term_id` | |
-`$taxonomy` | |
-`$parsed_args` | |
-`$args` | |
+`$term_id` | `int` | Term ID.
+`$taxonomy` | `string` | Taxonomy slug.
+`$parsed_args` | `array` | An array of potentially altered update arguments for the given term.
+`$args` | `array` | An array of update arguments for the given term.
-Source: [wordpress/wp-includes/taxonomy.php](../../wordpress/wp-includes/taxonomy.php), [line 3210](../../wordpress/wp-includes/taxonomy.php#L3210-L3210)
+**Changelog**
+
+Version | Description
+------- | -----------
+`3.1.0` |
+
+Source: [wordpress/wp-includes/taxonomy.php](../../wordpress/wp-includes/taxonomy.php), [line 3197](../../wordpress/wp-includes/taxonomy.php#L3197-L3210)
### `wp_update_term_data`
@@ -29305,23 +29494,45 @@ Source: [wordpress/wp-includes/load.php](../../wordpress/wp-includes/load.php),
### `is_protected_endpoint`
+*Filters whether the current request is against a protected endpoint.*
+
+This filter is only fired when an endpoint is requested which is not already protected by
+WordPress core. As such, it exclusively allows providing further protected endpoints in
+addition to the admin backend, login pages and protected Ajax actions.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`false` | |
-Source: [wordpress/wp-includes/load.php](../../wordpress/wp-includes/load.php), [line 1001](../../wordpress/wp-includes/load.php#L1001-L1001)
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.2.0` |
+
+Source: [wordpress/wp-includes/load.php](../../wordpress/wp-includes/load.php), [line 989](../../wordpress/wp-includes/load.php#L989-L1001)
### `wp_protected_ajax_actions`
+*Filters the array of protected Ajax actions.*
+
+This filter is only fired when doing Ajax and the Ajax request has an 'action' property.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$actions_to_protect` | |
+`$actions_to_protect` | `string[]` | Array of strings with Ajax actions to protect.
-Source: [wordpress/wp-includes/load.php](../../wordpress/wp-includes/load.php), [line 1040](../../wordpress/wp-includes/load.php#L1040-L1040)
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.2.0` |
+
+Source: [wordpress/wp-includes/load.php](../../wordpress/wp-includes/load.php), [line 1031](../../wordpress/wp-includes/load.php#L1031-L1040)
### `wp_doing_ajax`
@@ -30578,13 +30789,21 @@ Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/forma
### `excerpt_length`
+*Filters the maximum number of words in a post excerpt.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$excerpt_length` | |
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 3901](../../wordpress/wp-includes/formatting.php#L3901-L3901)
+**Changelog**
+
+Version | Description
+------- | -----------
+`2.7.0` |
+
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 3894](../../wordpress/wp-includes/formatting.php#L3894-L3901)
### `excerpt_more`
@@ -31025,80 +31244,46 @@ Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/forma
### `emoji_url`
-*Filters the URL where emoji png images are hosted.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`'https://s.w.org/images/core/emoji/13.1.0/72x72/'` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`4.2.0` |
-
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5760](../../wordpress/wp-includes/formatting.php#L5760-L5767)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5767](../../wordpress/wp-includes/formatting.php#L5767-L5767)
### `emoji_ext`
-*Filters the extension of the emoji png files.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`'.png'` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`4.2.0` |
-
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5769](../../wordpress/wp-includes/formatting.php#L5769-L5776)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5776](../../wordpress/wp-includes/formatting.php#L5776-L5776)
### `emoji_svg_url`
-*Filters the URL where emoji SVG images are hosted.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`'https://s.w.org/images/core/emoji/13.1.0/svg/'` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`4.6.0` |
-
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5778](../../wordpress/wp-includes/formatting.php#L5778-L5785)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5785](../../wordpress/wp-includes/formatting.php#L5785-L5785)
### `emoji_svg_ext`
-*Filters the extension of the emoji SVG files.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`'.svg'` | |
-**Changelog**
-
-Version | Description
-------- | -----------
-`4.6.0` |
-
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5787](../../wordpress/wp-includes/formatting.php#L5787-L5794)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5794](../../wordpress/wp-includes/formatting.php#L5794-L5794)
### `script_loader_src`
-*This filter is documented in wp-includes/class.wp-scripts.php*
-
**Arguments**
Argument | Type | Description
@@ -31106,12 +31291,10 @@ Argument | Type | Description
`includes_url("js/wp-emoji.js?{$version}")` | |
`'wpemoji'` | |
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5801](../../wordpress/wp-includes/formatting.php#L5801-L5802)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5802](../../wordpress/wp-includes/formatting.php#L5802-L5802)
### `script_loader_src`
-*This filter is documented in wp-includes/class.wp-scripts.php*
-
**Arguments**
Argument | Type | Description
@@ -31119,12 +31302,10 @@ Argument | Type | Description
`includes_url("js/twemoji.js?{$version}")` | |
`'twemoji'` | |
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5803](../../wordpress/wp-includes/formatting.php#L5803-L5804)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5804](../../wordpress/wp-includes/formatting.php#L5804-L5804)
### `script_loader_src`
-*This filter is documented in wp-includes/class.wp-scripts.php*
-
**Arguments**
Argument | Type | Description
@@ -31132,7 +31313,7 @@ Argument | Type | Description
`includes_url("js/wp-emoji-release.min.js?{$version}")` | |
`'concatemoji'` | |
-Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5808](../../wordpress/wp-includes/formatting.php#L5808-L5809)
+Source: [wordpress/wp-includes/formatting.php](../../wordpress/wp-includes/formatting.php), [line 5809](../../wordpress/wp-includes/formatting.php#L5809-L5809)
### `emoji_url`
@@ -31286,13 +31467,15 @@ Source: [wordpress/wp-includes/ms-functions.php](../../wordpress/wp-includes/ms-
### `illegal_user_logins`
+*This filter is documented in wp-includes/user.php*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array()` | |
-Source: [wordpress/wp-includes/ms-functions.php](../../wordpress/wp-includes/ms-functions.php), [line 500](../../wordpress/wp-includes/ms-functions.php#L500-L500)
+Source: [wordpress/wp-includes/ms-functions.php](../../wordpress/wp-includes/ms-functions.php), [line 499](../../wordpress/wp-includes/ms-functions.php#L499-L500)
### `wpmu_validate_user_signup`
@@ -32569,14 +32752,27 @@ Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php),
### `edit_post_{$field}`
+*Sanitizes a post field based on context.*
+
+Possible context values are: 'raw', 'edit', 'db', 'display', 'attribute' and
+'js'. The 'display' context is used by default. 'attribute' and 'js' contexts
+are treated like 'display' when calling filters.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$value` | |
-`$post_id` | |
+`$value` | `mixed` | The Post Object value.
+`$post_id` | `int` | Post ID.
-Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php), [line 2809](../../wordpress/wp-includes/post.php#L2809-L2809)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.4.0` | Like `sanitize_post()`, `$context` defaults to 'display'.
+`2.3.0` |
+
+Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php), [line 2738](../../wordpress/wp-includes/post.php#L2738-L2809)
### `pre_{$field}`
@@ -32622,13 +32818,26 @@ Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php),
### `pre_post_{$field}`
+*Sanitizes a post field based on context.*
+
+Possible context values are: 'raw', 'edit', 'db', 'display', 'attribute' and
+'js'. The 'display' context is used by default. 'attribute' and 'js' contexts
+are treated like 'display' when calling filters.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$value` | |
+`$value` | `mixed` | The Post Object value.
-Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php), [line 2848](../../wordpress/wp-includes/post.php#L2848-L2848)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.4.0` | Like `sanitize_post()`, `$context` defaults to 'display'.
+`2.3.0` |
+
+Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php), [line 2738](../../wordpress/wp-includes/post.php#L2738-L2848)
### `{$field}_pre`
@@ -32676,15 +32885,28 @@ Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php),
### `post_{$field}`
+*Sanitizes a post field based on context.*
+
+Possible context values are: 'raw', 'edit', 'db', 'display', 'attribute' and
+'js'. The 'display' context is used by default. 'attribute' and 'js' contexts
+are treated like 'display' when calling filters.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$value` | |
-`$post_id` | |
-`$context` | |
+`$value` | `mixed` | The Post Object value.
+`$post_id` | `int` | Post ID.
+`$context` | `string` | Optional. How to sanitize the field. Possible values are 'raw', 'edit',
'db', 'display', 'attribute' and 'js'. Default 'display'.
-Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php), [line 2883](../../wordpress/wp-includes/post.php#L2883-L2883)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.4.0` | Like `sanitize_post()`, `$context` defaults to 'display'.
+`2.3.0` |
+
+Source: [wordpress/wp-includes/post.php](../../wordpress/wp-includes/post.php), [line 2738](../../wordpress/wp-includes/post.php#L2738-L2883)
### `wp_count_posts`
@@ -34380,22 +34602,14 @@ Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/po
### `the_content_more_link`
-*Filters the Read More link text.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`' ID}\" class=\"more-link\">{$more_link_text}"` | |
-`$more_link_text` | `string` | Read More text.
-
-**Changelog**
+`$more_link_text` | |
-Version | Description
-------- | -----------
-`2.8.0` |
-
-Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 361](../../wordpress/wp-includes/post-template.php#L361-L369)
+Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 369](../../wordpress/wp-includes/post-template.php#L369-L369)
### `the_excerpt`
@@ -34558,8 +34772,6 @@ Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/po
### `wp_link_pages_link`
-*This filter is documented in wp-includes/post-template.php*
-
**Arguments**
Argument | Type | Description
@@ -34567,12 +34779,10 @@ Argument | Type | Description
`$link` | |
`$prev` | |
-Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 986](../../wordpress/wp-includes/post-template.php#L986-L987)
+Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 987](../../wordpress/wp-includes/post-template.php#L987-L987)
### `wp_link_pages_link`
-*This filter is documented in wp-includes/post-template.php*
-
**Arguments**
Argument | Type | Description
@@ -34580,7 +34790,7 @@ Argument | Type | Description
`$link` | |
`$next` | |
-Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 996](../../wordpress/wp-includes/post-template.php#L996-L997)
+Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 997](../../wordpress/wp-includes/post-template.php#L997-L997)
### `wp_link_pages`
@@ -34603,23 +34813,15 @@ Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/po
### `the_meta_key`
-*Filters the HTML output of the li element in the post custom fields list.*
-
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$html` | `string` | The HTML output for the li element.
-`$key` | `string` | Meta key.
-`$value` | `string` | Meta value.
-
-**Changelog**
-
-Version | Description
-------- | -----------
-`2.2.0` |
+`$html` | |
+`$key` | |
+`$value` | |
-Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 1114](../../wordpress/wp-includes/post-template.php#L1114-L1123)
+Source: [wordpress/wp-includes/post-template.php](../../wordpress/wp-includes/post-template.php), [line 1123](../../wordpress/wp-includes/post-template.php#L1123-L1123)
### `wp_dropdown_pages`
@@ -35678,13 +35880,34 @@ Source: [wordpress/wp-includes/option.php](../../wordpress/wp-includes/option.ph
### `{$hook_name}`
+*Fires functions attached to a deprecated filter hook.*
+
+When a filter hook is deprecated, the apply_filters() call is replaced with
+apply_filters_deprecated(), which triggers a deprecation notice and then fires
+the original filter hook.
+
+Note: the value and extra arguments passed to the original apply_filters() call
+must be passed here to `$args` as an array. For example:
+
+ // Old filter.
+ return apply_filters( 'wpdocs_filter', $value, $extra_arg );
+
+ // Deprecated.
+ return apply_filters_deprecated( 'wpdocs_filter', array( $value, $extra_arg ), '4.9.0', 'wpdocs_new_filter' );
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$args` | |
+`$args` | `array` | Array of additional function arguments to be passed to apply_filters().
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.6.0` |
-Source: [wordpress/wp-includes/plugin.php](../../wordpress/wp-includes/plugin.php), [line 664](../../wordpress/wp-includes/plugin.php#L664-L664)
+Source: [wordpress/wp-includes/plugin.php](../../wordpress/wp-includes/plugin.php), [line 631](../../wordpress/wp-includes/plugin.php#L631-L664)
### `get_the_categories`
@@ -36103,26 +36326,42 @@ Source: [wordpress/wp-includes/class-wp-text-diff-renderer-table.php](../../word
### `has_post_thumbnail`
+*Filters whether a post has a post thumbnail.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$has_thumbnail` | |
-`$post` | |
-`$thumbnail_id` | |
+`$has_thumbnail` | `bool` | true if the post has a post thumbnail, otherwise false.
+`$post` | `int\|\WP_Post\|null` | Post ID or WP_Post object. Default is global `$post`.
+`$thumbnail_id` | `int\|false` | Post thumbnail ID or false if the post does not exist.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.1.0` |
-Source: [wordpress/wp-includes/post-thumbnail-template.php](../../wordpress/wp-includes/post-thumbnail-template.php), [line 38](../../wordpress/wp-includes/post-thumbnail-template.php#L38-L38)
+Source: [wordpress/wp-includes/post-thumbnail-template.php](../../wordpress/wp-includes/post-thumbnail-template.php), [line 29](../../wordpress/wp-includes/post-thumbnail-template.php#L29-L38)
### `post_thumbnail_id`
+*Filters post thumbnail ID.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$thumbnail_id` | |
-`$post` | |
+`$thumbnail_id` | `int\|false` | Post thumbnail ID or false if the post does not exist.
+`$post` | `int\|\WP_Post\|null` | Post ID or WP_Post object. Default is global `$post`.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.9.0` |
-Source: [wordpress/wp-includes/post-thumbnail-template.php](../../wordpress/wp-includes/post-thumbnail-template.php), [line 70](../../wordpress/wp-includes/post-thumbnail-template.php#L70-L70)
+Source: [wordpress/wp-includes/post-thumbnail-template.php](../../wordpress/wp-includes/post-thumbnail-template.php), [line 62](../../wordpress/wp-includes/post-thumbnail-template.php#L62-L70)
### `post_thumbnail_size`
@@ -36226,23 +36465,45 @@ Source: [wordpress/wp-includes/class-wp-xmlrpc-server.php](../../wordpress/wp-in
### `pre_option_enable_xmlrpc`
+*Set wp_xmlrpc_server::$is_enabled property.*
+
+Determine whether the xmlrpc server is enabled on this WordPress install
+and set the is_enabled property accordingly.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`false` | |
-Source: [wordpress/wp-includes/class-wp-xmlrpc-server.php](../../wordpress/wp-includes/class-wp-xmlrpc-server.php), [line 191](../../wordpress/wp-includes/class-wp-xmlrpc-server.php#L191-L191)
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.7.3` |
+
+Source: [wordpress/wp-includes/class-wp-xmlrpc-server.php](../../wordpress/wp-includes/class-wp-xmlrpc-server.php), [line 178](../../wordpress/wp-includes/class-wp-xmlrpc-server.php#L178-L191)
### `option_enable_xmlrpc`
+*Set wp_xmlrpc_server::$is_enabled property.*
+
+Determine whether the xmlrpc server is enabled on this WordPress install
+and set the is_enabled property accordingly.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`true` | |
-Source: [wordpress/wp-includes/class-wp-xmlrpc-server.php](../../wordpress/wp-includes/class-wp-xmlrpc-server.php), [line 193](../../wordpress/wp-includes/class-wp-xmlrpc-server.php#L193-L193)
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.7.3` |
+
+Source: [wordpress/wp-includes/class-wp-xmlrpc-server.php](../../wordpress/wp-includes/class-wp-xmlrpc-server.php), [line 178](../../wordpress/wp-includes/class-wp-xmlrpc-server.php#L178-L193)
### `xmlrpc_enabled`
@@ -37308,39 +37569,73 @@ Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/c
### `theme_templates`
+*Filters list of page templates for a theme.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$post_templates` | |
+`$post_templates` | `string[]` | Array of template header names keyed by the template file name.
`$this` | |
-`$post` | |
-`$post_type` | |
+`$post` | `\WP_Post\|null` | The post being edited, provided for context, or null.
+`$post_type` | `string` | Post type to get the templates for.
-Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1334](../../wordpress/wp-includes/class-wp-theme.php#L1334-L1334)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.9.6` |
+
+Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1324](../../wordpress/wp-includes/class-wp-theme.php#L1324-L1334)
### `theme_{$post_type}_templates`
+*Filters list of page templates for a theme.*
+
+The dynamic portion of the hook name, `$post_type`, refers to the post type.
+
+Possible hook names include:
+
+ - `theme_post_templates`
+ - `theme_page_templates`
+ - `theme_attachment_templates`
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
-`$post_templates` | |
+`$post_templates` | `string[]` | Array of template header names keyed by the template file name.
`$this` | |
-`$post` | |
-`$post_type` | |
+`$post` | `\WP_Post\|null` | The post being edited, provided for context, or null.
+`$post_type` | `string` | Post type to get the templates for.
+
+**Changelog**
-Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1356](../../wordpress/wp-includes/class-wp-theme.php#L1356-L1356)
+Version | Description
+------- | -----------
+`4.7.0` | Added the `$post_type` parameter.
+`4.4.0` | Converted to allow complete control over the `$page_templates` array.
+`3.9.0` |
+
+Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1336](../../wordpress/wp-includes/class-wp-theme.php#L1336-L1356)
### `theme_scandir_exclusions`
+*Filters the array of excluded directories and files while scanning theme folder.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array('CVS', 'node_modules', 'vendor', 'bower_components')` | |
-Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1402](../../wordpress/wp-includes/class-wp-theme.php#L1402-L1402)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.7.4` |
+
+Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1395](../../wordpress/wp-includes/class-wp-theme.php#L1395-L1402)
### `theme_file_path`
@@ -37357,14 +37652,25 @@ Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/c
### `network_allowed_themes`
+*Filters the array of themes allowed on the network.*
+
+Site is provided as context so that a list of network allowed themes can
+be filtered further.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`self::get_allowed_on_network()` | |
-`$blog_id` | |
+`$blog_id` | `int` | ID of the site.
-Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1583](../../wordpress/wp-includes/class-wp-theme.php#L1583-L1583)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.5.0` |
+
+Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1572](../../wordpress/wp-includes/class-wp-theme.php#L1572-L1583)
### `allowed_themes`
@@ -37380,17 +37686,27 @@ Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/c
### `site_allowed_themes`
+*Filters the array of themes allowed on the site.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$allowed_themes[$blog_id]` | |
-`$blog_id` | |
+`$blog_id` | `int` | ID of the site. Defaults to current site.
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.5.0` |
-Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1636](../../wordpress/wp-includes/class-wp-theme.php#L1636-L1636)
+Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1628](../../wordpress/wp-includes/class-wp-theme.php#L1628-L1636)
### `site_allowed_themes`
+*This filter is documented in wp-includes/class-wp-theme.php*
+
**Arguments**
Argument | Type | Description
@@ -37398,17 +37714,25 @@ Argument | Type | Description
`$allowed_themes[$blog_id]` | |
`$blog_id` | |
-Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1687](../../wordpress/wp-includes/class-wp-theme.php#L1687-L1687)
+Source: [wordpress/wp-includes/class-wp-theme.php](../../wordpress/wp-includes/class-wp-theme.php), [line 1686](../../wordpress/wp-includes/class-wp-theme.php#L1686-L1687)
### `incompatible_sql_modes`
+*Filters the list of incompatible SQL modes to exclude.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$this->incompatible_modes` | |
-Source: [wordpress/wp-includes/wp-db.php](../../wordpress/wp-includes/wp-db.php), [line 956](../../wordpress/wp-includes/wp-db.php#L956-L956)
+**Changelog**
+
+Version | Description
+------- | -----------
+`3.9.0` |
+
+Source: [wordpress/wp-includes/wp-db.php](../../wordpress/wp-includes/wp-db.php), [line 949](../../wordpress/wp-includes/wp-db.php#L949-L956)
### `query`
@@ -37916,13 +38240,21 @@ Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php),
### `illegal_user_logins`
+*Filters the list of disallowed usernames.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array()` | |
-Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php), [line 1956](../../wordpress/wp-includes/user.php#L1956-L1956)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.4.0` |
+
+Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php), [line 1949](../../wordpress/wp-includes/user.php#L1949-L1956)
### `pre_user_nicename`
@@ -38443,13 +38775,15 @@ Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php),
### `illegal_user_logins`
+*This filter is documented in wp-includes/user.php*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`array()` | |
-Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php), [line 3088](../../wordpress/wp-includes/user.php#L3088-L3088)
+Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php), [line 3087](../../wordpress/wp-includes/user.php#L3087-L3088)
### `registration_errors`
@@ -38948,13 +39282,21 @@ Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php),
### `user_request_key_expiration`
+*Filters the expiration time of confirm keys.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`DAY_IN_SECONDS` | |
-Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php), [line 4615](../../wordpress/wp-includes/user.php#L4615-L4615)
+**Changelog**
+
+Version | Description
+------- | -----------
+`4.9.6` |
+
+Source: [wordpress/wp-includes/user.php](../../wordpress/wp-includes/user.php), [line 4608](../../wordpress/wp-includes/user.php#L4608-L4615)
### `wp_is_application_passwords_available`
@@ -39684,14 +40026,26 @@ Source: [wordpress/wp-includes/ms-blogs.php](../../wordpress/wp-includes/ms-blog
### `wp_should_handle_php_error`
+*Filters whether a given thrown error should be handled by the fatal error handler.*
+
+This filter is only fired if the error is not already configured to be handled by WordPress core. As such,
+it exclusively allows adding further rules for which errors should be handled, but not removing existing
+ones.
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`false` | |
-`$error` | |
+`$error` | `array` | Error information retrieved from error_get_last().
+
+**Changelog**
+
+Version | Description
+------- | -----------
+`5.2.0` |
-Source: [wordpress/wp-includes/class-wp-fatal-error-handler.php](../../wordpress/wp-includes/class-wp-fatal-error-handler.php), [line 121](../../wordpress/wp-includes/class-wp-fatal-error-handler.php#L121-L121)
+Source: [wordpress/wp-includes/class-wp-fatal-error-handler.php](../../wordpress/wp-includes/class-wp-fatal-error-handler.php), [line 109](../../wordpress/wp-includes/class-wp-fatal-error-handler.php#L109-L121)
### `wp_php_error_message`
@@ -39857,16 +40211,20 @@ Source: [wordpress/wp-includes/class-wp-site.php](../../wordpress/wp-includes/cl
### `graceful_fail`
+*Deprecated functionality to gracefully fail.*
+
**Arguments**
Argument | Type | Description
-------- | ---- | -----------
`$message` | |
-Source: [wordpress/wp-includes/ms-deprecated.php](../../wordpress/wp-includes/ms-deprecated.php), [line 91](../../wordpress/wp-includes/ms-deprecated.php#L91-L91)
+Source: [wordpress/wp-includes/ms-deprecated.php](../../wordpress/wp-includes/ms-deprecated.php), [line 82](../../wordpress/wp-includes/ms-deprecated.php#L82-L91)
### `graceful_fail_template`
+*Deprecated functionality to gracefully fail.*
+
**Arguments**
Argument | Type | Description
@@ -39895,7 +40253,7 @@ text-align: center;