Ticket #20417: 20417-meta-api.diff
File 20417-meta-api.diff, 7.2 KB (added by , 13 years ago) |
---|
-
wp-includes/post.php
2034 2034 $wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => 'attachment' ) ); 2035 2035 2036 2036 $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $postid )); 2037 if ( ! empty($comment_ids) ) { 2038 do_action( 'delete_comment', $comment_ids ); 2039 foreach ( $comment_ids as $comment_id ) 2040 wp_delete_comment( $comment_id, true ); 2041 do_action( 'deleted_comment', $comment_ids ); 2042 } 2037 foreach ( $comment_ids as $comment_id ) 2038 wp_delete_comment( $comment_id, true ); 2043 2039 2044 2040 $post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $postid )); 2045 if ( !empty($post_meta_ids) ) { 2046 do_action( 'delete_postmeta', $post_meta_ids ); 2047 $in_post_meta_ids = "'" . implode("', '", $post_meta_ids) . "'"; 2048 $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_id IN($in_post_meta_ids)" ); 2049 do_action( 'deleted_postmeta', $post_meta_ids ); 2050 } 2041 foreach ( $post_meta_ids as $mid ) 2042 delete_metadata_by_id( 'post', $mid ); 2051 2043 2052 2044 do_action( 'delete_post', $postid ); 2053 2045 $wpdb->delete( $wpdb->posts, array( 'ID' => $postid ) ); … … 3800 3792 wp_delete_object_term_relationships($post_id, array('category', 'post_tag')); 3801 3793 wp_delete_object_term_relationships($post_id, get_object_taxonomies($post->post_type)); 3802 3794 3803 $wpdb->delete( $wpdb->postmeta, array( 'meta_key' => '_thumbnail_id' , 'meta_value' => $post_id ) );3795 delete_metadata( 'post', null, '_thumbnail_id', $post_id, true ); // delete all for any posts. 3804 3796 3805 3797 $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id )); 3806 if ( ! empty( $comment_ids ) ) { 3807 do_action( 'delete_comment', $comment_ids ); 3808 foreach ( $comment_ids as $comment_id ) 3809 wp_delete_comment( $comment_id, true ); 3810 do_action( 'deleted_comment', $comment_ids ); 3811 } 3798 foreach ( $comment_ids as $comment_id ) 3799 wp_delete_comment( $comment_id, true ); 3812 3800 3813 3801 $post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $post_id )); 3814 if ( !empty($post_meta_ids) ) { 3815 do_action( 'delete_postmeta', $post_meta_ids ); 3816 $in_post_meta_ids = "'" . implode("', '", $post_meta_ids) . "'"; 3817 $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_id IN($in_post_meta_ids)" ); 3818 do_action( 'deleted_postmeta', $post_meta_ids ); 3819 } 3802 foreach ( $post_meta_ids as $mid ) 3803 delete_metadata_by_id( 'post', $mid ); 3820 3804 3821 3805 do_action( 'delete_post', $post_id ); 3822 3806 $wpdb->delete( $wpdb->posts, array( 'ID' => $post_id ) ); … … 4564 4548 return; 4565 4549 4566 4550 $data = array( 'post_id' => $post_id, 'meta_value' => '1' ); 4567 if ( get_option('default_pingback_flag') ) { 4568 $wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_pingme' ) ); 4569 do_action( 'added_postmeta', $wpdb->insert_id, $post_id, '_pingme', 1 ); 4570 } 4571 $wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_encloseme' ) ); 4572 do_action( 'added_postmeta', $wpdb->insert_id, $post_id, '_encloseme', 1 ); 4551 if ( get_option('default_pingback_flag') ) 4552 add_post_meta( $post_id, '_pingme', '1' ); 4553 add_post_meta( $post_id, '_encloseme', '1' ); 4573 4554 4574 4555 wp_schedule_single_event(time(), 'do_pings'); 4575 4556 } -
wp-includes/comment.php
980 980 } 981 981 982 982 // Delete metadata 983 $meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->commentmeta WHERE comment_id = %d ", $comment_id ) ); 984 if ( !empty($meta_ids) ) { 985 do_action( 'delete_commentmeta', $meta_ids ); 986 $in_meta_ids = "'" . implode("', '", $meta_ids) . "'"; 987 $wpdb->query( "DELETE FROM $wpdb->commentmeta WHERE meta_id IN ($in_meta_ids)" ); 988 do_action( 'deleted_commentmeta', $meta_ids ); 989 } 983 $meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->commentmeta WHERE comment_id = %d", $comment_id ) ); 984 foreach ( $meta_ids as $mid ) 985 delete_metadata_by_id( 'comment', $mid ); 990 986 991 987 if ( ! $wpdb->delete( $wpdb->comments, array( 'comment_ID' => $comment_id ) ) ) 992 988 return false; -
wp-includes/functions.php
426 426 427 427 foreach ( $pung as $link_test ) { 428 428 if ( !in_array( $link_test, $post_links_temp[0] ) ) { // link no longer in post 429 $mid = $wpdb->get_col( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $link_test ) . '%') ); 430 do_action( 'delete_postmeta', $mid ); 431 $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_id IN(%s)", implode( ',', $mid ) ) ); 432 do_action( 'deleted_postmeta', $mid ); 429 $mids = $wpdb->get_col( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $link_test ) . '%') ); 430 foreach ( $mids as $mid ) 431 delete_metadata_by_mid( 'post', $mid ); 433 432 } 434 433 } 435 434 … … 469 468 } 470 469 471 470 if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) { 472 $meta_value = "$url\n$len\n$type\n"; 473 $wpdb->insert($wpdb->postmeta, array('post_id' => $post_ID, 'meta_key' => 'enclosure', 'meta_value' => $meta_value) ); 474 do_action( 'added_postmeta', $wpdb->insert_id, $post_ID, 'enclosure', $meta_value ); 471 add_post_meta( $post_ID, 'enclosure', "$url\n$len\n$mime\n" ); 475 472 } 476 473 } 477 474 } -
wp-includes/meta.php
223 223 224 224 do_action( "delete_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value ); 225 225 226 // Old-style action. 226 227 if ( 'post' == $meta_type ) 227 228 do_action( 'delete_postmeta', $meta_ids ); 228 229 … … 243 244 244 245 do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value ); 245 246 247 // Old-style action. 246 248 if ( 'post' == $meta_type ) 247 249 do_action( 'deleted_postmeta', $meta_ids ); 248 250 … … 485 487 486 488 do_action( "delete_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value ); 487 489 488 if ( 'post' == $meta_type ) 489 do_action( 'delete_postmeta', $meta_id ); 490 // Old-style action. 491 if ( 'post' == $meta_type || 'comment' == $meta_type ) 492 do_action( "delete_{$meta_type}meta", $meta_id ); 490 493 491 494 // Run the query, will return true if deleted, false otherwise 492 495 $result = (bool) $wpdb->delete( $table, array( $id_column => $meta_id ) ); … … 496 499 497 500 do_action( "deleted_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value ); 498 501 499 if ( 'post' == $meta_type ) 500 do_action( 'deleted_postmeta', $meta_id ); 502 // Old-style action. 503 if ( 'post' == $meta_type || 'comment' == $meta_type ) 504 do_action( "deleted_{$meta_type}meta", $meta_id ); 501 505 502 506 return $result; 503 507