Описание
Удалят все произвольные поля с определенным ключом у определенного поста.
delete_post_meta() работает на базе delete_metadata().
Использование
<?php delete_post_meta($post_id, $key, $value); ?>
Параметры
По умолчанию: нет
По умолчанию: нет
По умолчанию: нет
Примеры
1. Удалим произвольное поле my_key, со значением Steve, у поста 76:
<?php delete_post_meta(76, 'my_key', 'Steve'); ?>
2. Давайте предположим, что мы использовали плагин, который добавлял произвольные поля к каждому посту, а теперь мы от этого плагина отказались и нам нужно удалить все произвольные поля, которые были созданы этим плагином. Плагин создавал поля с ключами: keys related_posts и post_inspiration
Чтобы удалить все эти произвольные поля, можно воспользоваться таким кодом:
<?php
$allposts = get_posts('numberposts=-1&post_type=post&post_status=any');
foreach( $allposts as $postinfo) {
delete_post_meta($postinfo->ID, 'related_posts');
delete_post_meta($postinfo->ID, 'post_inspiration');
}
?>
2.1 Или если нам нужно удались все такие произвольные поля, кроме полей, значение которых равно Sherlock Holmes, используем такой код:
<?php
$allposts = get_posts('numberposts=-1&post_type=post&post_status=any');
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);
}
}
?>
3. Еще примеры можно посмотреть здесь.
delete_post_meta()
из файла: /wp-includes/post.php WP 3.3.2function delete_post_meta($post_id, $meta_key, $meta_value = '') {
// make sure meta is added to the post, not a revision
if ( $the_post = wp_is_post_revision($post_id) )
$post_id = $the_post;
return delete_metadata('post', $post_id, $meta_key, $meta_value);
}Связанные Функции
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.