2020-06-28 / 1498阅 / 悠然
删除特定字段的值。
delete_field($selector, [$post_id]);
$selector
(字符串) (必填) 字段名称或字段键。$post_id
(混合) (可选) 保存值的帖子ID。默认为当前帖子。(布尔)成功删除时为true,失败则为 false。
本示例说明如何删除正在查看的当前帖子上名为“ test”的字段的值。
// Delete value.
delete_field('test');
本示例说明如何使用字段的密钥而不是其名称来实现与上述相同的操作。
// Delete value.
delete_field('field_123456');
此示例显示了各种$ post_id值,这些值可从帖子,用户,术语和选项中删除值。
$post_id = false; // current post
$post_id = 1; // post ID = 1
$post_id = "user_2"; // user ID = 2
$post_id = "category_3"; // category term ID = 3
$post_id = "event_4"; // event (custom taxonomy) term ID = 4
$post_id = "option"; // options page
$post_id = "options"; // same as above
delete_field( 'my_field', $post_id );
本示例说明如何加载所有包含自定义字段(称为“颜色”)的帖子,然后从每个帖子中删除这些值。请注意,foreach循环使用名为$ p的变量代替$ post,以避免与全局$ post对象发生任何冲突。
// Query posts.
$posts = get_posts(array(
'post_type' => 'post',
'posts_per_page' => -1,
'meta_key' => 'color'
));
// Loop over results and delete.
if( $posts ) {
foreach( $posts as $p ) {
delete_field('color', $p->ID);
}
}