使用WordPress函数delete_post_meta()删除指定帖子ID的帖子元字段
函数delete_post_meta()从帖子中删除元数据匹配条件。
您可以根据键或键和值进行匹配。根据键和值进行删除将避免删除具有相同键的重复元数据。如果需要,它还允许删除与键匹配的所有元数据。此函数允许您根据键或键和值删除元数据。这样,您可以避免删除具有相同键的重复元数据。
推荐:[最新版]WordPress SEO插件Rank Math Pro
delete_post_meta()基本语法
描述
WordPress PHP delete_post_meta()函数删除指定帖子ID的帖子元字段
用法
delete_post_meta($post_id, $meta_key, $meta_value);
- $post_id (int):必填。这是您要删除元数据的帖子的 ID。
- $meta_key (string):必需。这是您要删除的元数据的名称。
- $meta_value (mixed):可选。如果提供,则仅删除与此值匹配的元数据行。如果是非标量,则必须是可序列化的。默认值为空字符串 (”)。
推荐:[最新版]YITH WooCommerce Social Login社交登录插件
delete_post_meta()函数
删除指定帖子ID的帖子元字段。您可以根据键或键和值进行匹配。根据键和值进行删除将避免删除具有相同键的重复元数据。如果需要,它还允许删除与键匹配的所有元数据。使用此函数删除特定键值对时要小心。为$meta_value提供空字符串将跳过检查,导致所有键都被删除。为避免这种情况,
如果您想删除具有指定$meta_key 的所有条目(无论字段值如何),请为$ meta_value 使用空值(源文件可参考这里)
function delete_post_meta( $post_id, $meta_key, $meta_value = '' ) {
// Make sure meta is deleted from the post, not from a revision.
$the_post = wp_is_post_revision( $post_id );
if ( $the_post ) {
$post_id = $the_post;
}
return delete_metadata( 'post', $post_id, $meta_key, $meta_value );
}
推荐:[最新版]Hero Menu免费下载响应式WordPress Mega Menu超级菜单插件
如何使用delete_post_meta()
删除特定帖子的元数据
delete_post_meta(76, 'my_key');
删除特定元数据值
delete_post_meta(76, 'my_key', 'Steve');
删除所有帖子的元数据
$allposts = get_posts('numberposts=-1&post_type=post&post_status=any');
foreach($allposts as $postinfo) {
delete_post_meta($postinfo->ID, 'related_posts');
}
删除除特定值之外的元数据
$allposts = get_posts('numberposts=-1&post_type=post&post_status=any');
foreach($allposts as $postinfo) {
$inspiration = get_post_meta($postinfo->ID, 'post_inspiration');
foreach($inspiration as $value) {
if('Sherlock Holmes' !== $value) {
delete_post_meta($postinfo->ID, 'post_inspiration', $value);
}
}
}
删除引用已删除帖子的元数据
$allposts = get_posts('numberposts=-1&post_type=post&post_status=any');
foreach($allposts as $postinfo) {
delete_post_meta($postinfo->ID, 'related_posts', '185');
}
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折