WordPress:Function Reference/delete post meta
来自站长百科
描述[ ]
函数用某篇文章特别规定的key,删除所有的自定义区。也看看update_post_meta(), get_post_meta() 和 add_post_meta()。
用法[ ]
%%% <?php delete_post_meta($post_id, $key, $value); ?> %%%
例子[ ]
默认用法[ ]
<?php delete_post_meta(76, 'my_key', 'Steve'); ?>
其它的例子[ ]
假如我们有一个插件,这个插件可以向文章添加一些meta参数值,但是当我们卸载插件的时候,我们想要删除插件添加的所有的文章 meta keys。假定插件添加keysrelated_posts 和post_inspiration。
要删除所有的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'); } ?>
或者,如果你想要删除除了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); } } ?>
或者可能文章数字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'); } ?>
更详细的例子,请进入post_meta函数 例子网页。
注:与update_post_meta()不同,这个函数会删除匹配标准的所有的区。
参数[ ]
相关的[ ]
update_post_meta(), get_post_meta(), add_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys()