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_postspost_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()