WordPress:Function Reference/delete post meta
Description
描述
This function deletes all custom fields with the specified key from the specified post. See also update_post_meta(), get_post_meta() and add_post_meta().
函数用某篇文章特别规定的key,删除所有的自定义区。也看看update_post_meta(), get_post_meta() 和 add_post_meta()。
Usage
用法
%%% <?php delete_post_meta($post_id, $key, $value); ?> %%%
%%% <?php delete_post_meta($post_id, $key, $value); ?> %%%
Examples
Default Usage
例子
默认用法
<?php delete_post_meta(76, 'my_key', 'Steve'); ?>
<?php delete_post_meta(76, 'my_key', 'Steve'); ?>
Other Examples
其它的例子
Let's assume we had a plugin that added some meta values to posts, but now when we are uninstalling the plugin, we want to delete all the post meta keys that the plugin added. Assuming the plugin added the keys related_posts and post_inspiration.
假如我们有一个插件,这个插件可以向文章添加一些meta参数值,但是当我们卸载插件的时候,我们想要删除插件添加的所有的文章 meta keys。假定插件添加keysrelated_posts 和post_inspiration。
To delete all the keys, this would be added to the "uninstall" function:
要删除所有的keys,需要将下面的内容添加到"卸载"函数:
<?php $allposts = get_posts('numberposts=0&post_type=post&post_status='); foreach( $allposts as $postinfo) { delete_post_meta($postinfo->ID, 'related_posts'); delete_post_meta($postinfo->ID, 'post_inspiration'); } ?>
<?php $allposts = get_posts('numberposts=0&post_type=post&post_status='); foreach( $allposts as $postinfo) { delete_post_meta($postinfo->ID, 'related_posts'); delete_post_meta($postinfo->ID, 'post_inspiration'); } ?>
Or, if you wanted to delete all the keys except where post_inspiration was "Sherlock Holmes":
或者,如果你想要删除除了post_inspiration是"Sherlock Holmes"之外的所有的keys:
<?php $allposts = get_posts('numberposts=0&post_type=post&post_status='); foreach( $allposts as $postinfo) { delete_post_meta($postinfo->ID, 'related_posts'); $inspiration = get_post_meta( $postinfo->ID, 'post_inspiration ); foreach( $inspiration as $value ) { if( $value != "Sherlock Holmes" ) delete_post_meta($postinfo->ID, 'post_inspiration', $value); } } ?>
<?php $allposts = get_posts('numberposts=0&post_type=post&post_status='); foreach( $allposts as $postinfo) { delete_post_meta($postinfo->ID, 'related_posts'); $inspiration = get_post_meta( $postinfo->ID, 'post_inspiration ); foreach( $inspiration as $value ) { if( $value != "Sherlock Holmes" ) delete_post_meta($postinfo->ID, 'post_inspiration', $value); } } ?>
Or maybe post number 185 was just deleted, and you want to remove all related_posts keys that reference it:
或者可能文章数字185已经删除了,而且你想要删除所有提及这个数字的related_posts keys:
<?php $allposts = get_posts('numberposts=0&post_type=post&post_status='); foreach( $allposts as $postinfo) { delete_post_meta($postinfo->ID, 'related_posts', '185'); } ?>
<?php $allposts = get_posts('numberposts=0&post_type=post&post_status='); foreach( $allposts as $postinfo) { delete_post_meta($postinfo->ID, 'related_posts', '185'); } ?>
For a more detailed example, go to the post_meta Functions Examples page.
更详细的例子,请进入post_meta函数 例子网页。
Note: Unlike update_post_meta(), This function will delete all fields that match the criteria.
注:与update_post_meta()不同,这个函数会删除匹配标准的所有的区。
Parameters
参数
Related
相关的
update_post_meta(), get_post_meta(), add_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys()
update_post_meta(), get_post_meta(), add_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys()