WordPress: Function Reference/delete post meta:修订间差异
来自站长百科
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
==描述== | ==描述== | ||
函数用某篇文章特别规定的key,删除所有的自定义区。也看看[[WordPress:Function Reference/update post meta|update_post_meta()]], [[WordPress:Function Reference/get post meta|get_post_meta()]] 和 [[WordPress:Function Reference/add post meta|add_post_meta()]]。 | 函数用某篇文章特别规定的key,删除所有的自定义区。也看看[[WordPress:Function Reference/update post meta|update_post_meta()]], [[WordPress:Function Reference/get post meta|get_post_meta()]] 和 [[WordPress:Function Reference/add post meta|add_post_meta()]]。 | ||
==用法== | ==用法== | ||
%%% <?php delete_post_meta($post_id, $key, $value); ?> %%% | %%% <?php delete_post_meta($post_id, $key, $value); ?> %%% | ||
==例子== | ==例子== | ||
===默认用法=== | ===默认用法=== | ||
<?php delete_post_meta(76, 'my_key', 'Steve'); ?> | <?php delete_post_meta(76, 'my_key', 'Steve'); ?> | ||
===其它的例子=== | ===其它的例子=== | ||
假如我们有一个插件,这个插件可以向文章添加一些meta参数值,但是当我们卸载插件的时候,我们想要删除插件添加的所有的文章 meta keys。假定插件添加keys<tt>related_posts</tt> 和<tt>post_inspiration</tt>。 | 假如我们有一个插件,这个插件可以向文章添加一些meta参数值,但是当我们卸载插件的时候,我们想要删除插件添加的所有的文章 meta keys。假定插件添加keys<tt>related_posts</tt> 和<tt>post_inspiration</tt>。 | ||
要删除所有的keys,需要将下面的内容添加到"卸载"函数: | 要删除所有的keys,需要将下面的内容添加到"卸载"函数: | ||
<pre><?php | <pre><?php | ||
$allposts = get_posts('numberposts=0&post_type=post&post_status='); | $allposts = get_posts('numberposts=0&post_type=post&post_status='); | ||
第46行: | 第25行: | ||
} | } | ||
?></pre> | ?></pre> | ||
或者,如果你想要删除除了<tt>post_inspiration</tt>是"Sherlock Holmes"之外的所有的keys: | 或者,如果你想要删除除了<tt>post_inspiration</tt>是"Sherlock Holmes"之外的所有的keys: | ||
第76行: | 第41行: | ||
?></pre> | ?></pre> | ||
或者可能文章数字185已经删除了,而且你想要删除所有提及这个数字的<tt>related_posts</tt> keys: | 或者可能文章数字185已经删除了,而且你想要删除所有提及这个数字的<tt>related_posts</tt> keys: | ||
第104行: | 第51行: | ||
} | } | ||
?></pre> | ?></pre> | ||
更详细的例子,请进入[[WordPress:Function Reference/post meta Function Examples|post_meta函数 例子]]网页。 | 更详细的例子,请进入[[WordPress:Function Reference/post meta Function Examples|post_meta函数 例子]]网页。 | ||
'''''注:'''与[[WordPress:Function Reference/update post meta|update_post_meta()]]不同,这个函数会删除匹配标准的'''所有的'''区。 | '''''注:'''与[[WordPress:Function Reference/update post meta|update_post_meta()]]不同,这个函数会删除匹配标准的'''所有的'''区。 | ||
==参数== | ==参数== | ||
{{Parameter|$post_id|integer|你删除某个区所在文章的ID。}} | {{Parameter|$post_id|integer|你删除某个区所在文章的ID。}} | ||
{{Parameter|$key|string|你将要删除某个区的key。}} | {{Parameter|$key|string|你将要删除某个区的key。}} | ||
{{Parameter|$value|string|你将要删除的某个区的参数值。这个参数值是用来区分几个具有相同的key的区。如果这个参数值是空的,那么某个key的所有区都会被删除。|可选择的}} | {{Parameter|$value|string|你将要删除的某个区的参数值。这个参数值是用来区分几个具有相同的key的区。如果这个参数值是空的,那么某个key的所有区都会被删除。|可选择的}} | ||
==相关的== | ==相关的== | ||
[[WordPress:Function Reference/update post meta|update_post_meta()]], [[WordPress:Function Reference/get post meta|get_post_meta()]], [[WordPress:Function Reference/add post meta|add_post_meta()]], [[WordPress:Function Reference/get post custom|get_post_custom()]], [[WordPress:Function Reference/get post custom values|get_post_custom_values()]], [[WordPress:Function Reference/get post custom keys|get_post_custom_keys()]] | [[WordPress:Function Reference/update post meta|update_post_meta()]], [[WordPress:Function Reference/get post meta|get_post_meta()]], [[WordPress:Function Reference/add post meta|add_post_meta()]], [[WordPress:Function Reference/get post custom|get_post_custom()]], [[WordPress:Function Reference/get post custom values|get_post_custom_values()]], [[WordPress:Function Reference/get post custom keys|get_post_custom_keys()]] |
2008年7月23日 (三) 10:04的最新版本
描述[ ]
函数用某篇文章特别规定的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()