From 2cd5ea2a14fa2c7d5ad5f725d92a07e1082ae359 Mon Sep 17 00:00:00 2001 From: Peter Westwood Date: Sun, 8 Nov 2009 11:05:49 +0000 Subject: [PATCH] Fix delete_post_meta_by_key() so that you can delete postmeta items by key again. Fixes #11100. git-svn-id: https://develop.svn.wordpress.org/trunk@12156 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/post.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wp-includes/post.php b/wp-includes/post.php index 163fec3961..f177bbf51c 100644 --- a/wp-includes/post.php +++ b/wp-includes/post.php @@ -693,8 +693,9 @@ function delete_post_meta_by_key($post_meta_key) { $post_ids = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT post_id FROM $wpdb->postmeta WHERE meta_key = %s", $post_meta_key)); if ( $post_ids ) { $postmetaids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = %s", $post_meta_key ) ); + $in = implode( ',', array_fill(1, count($postmetaids), '%d')); do_action( 'delete_postmeta', $postmetaids ); - $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_id IN(%s)", implode( ',', $postmetaids) ) ); + $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_id IN($in)", $postmetaids )); do_action( 'deleted_postmeta', $postmetaids ); foreach ( $post_ids as $post_id ) wp_cache_delete($post_id, 'post_meta');