delete_{$meta_type}_metadata
云策文档标注
概述
delete_{$meta_type}_metadata 是一个 WordPress 过滤器钩子,用于在删除特定类型的元数据时提供短路机制。钩子名称中的 $meta_type 动态部分指代元对象类型,如博客、文章、评论等。
关键要点
- 钩子名称基于 $meta_type 动态生成,例如 delete_post_metadata、delete_user_metadata 等。
- 返回非空值将短路 delete_metadata() 函数,阻止元数据删除操作。
- 参数包括 $delete、$object_id、$meta_key、$meta_value 和 $delete_all,用于控制删除行为。
代码示例
$check = apply_filters( "delete_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $delete_all );注意事项
- 钩子从 WordPress 3.1.0 版本引入,主要用于自定义元数据删除逻辑。
- 元值 $meta_value 必须可序列化,如果为非标量类型。
原文内容
Short-circuits deleting metadata of a specific type.
Description
The dynamic portion of the hook name, $meta_type, refers to the meta object type (blog, post, comment, term, user, or any other type with an associated meta table).
Returning a non-null value will effectively short-circuit the function.
Possible hook names include:
delete_blog_metadatadelete_post_metadatadelete_comment_metadatadelete_term_metadatadelete_user_metadata
Parameters
$deletenull|bool-
Whether to allow metadata deletion of the given type.
$object_idint-
ID of the object metadata is for.
$meta_keystring-
Metadata key.
$meta_valuemixed-
Metadata value. Must be serializable if non-scalar.
$delete_allbool-
Whether to delete the matching metadata entries for all objects, ignoring the specified $object_id.
Default false.
Source
$check = apply_filters( "delete_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $delete_all );
Changelog
| Version | Description |
|---|---|
| 3.1.0 | Introduced. |