Changeset 4372
- Timestamp:
- 10/11/2006 09:18:54 AM (18 years ago)
- Location:
- trunk/wp-includes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/functions.php
r4359 r4372 543 543 $post_meta_cache = array(); 544 544 foreach ($meta_list as $metarow) { 545 $mpid = $metarow['post_id'];545 $mpid = (int) $metarow['post_id']; 546 546 $mkey = $metarow['meta_key']; 547 547 $mval = $metarow['meta_value']; -
trunk/wp-includes/post-template.php
r4278 r4372 212 212 // this will probably change at some point... 213 213 function the_meta() { 214 global $id , $post_meta_cache;214 global $id; 215 215 216 216 if ( $keys = get_post_custom_keys() ) { -
trunk/wp-includes/post.php
r4362 r4372 222 222 global $wpdb, $post_meta_cache; 223 223 224 $post_id = (int) $post_id; 225 224 226 if ( $unique ) { 225 if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 226 = '$key' AND post_id = '$post_id'") ) { 227 if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = '$key' AND post_id = '$post_id'") ) { 227 228 return false; 228 229 } … … 235 236 $wpdb->query("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value) VALUES ('$post_id','$key','$value')"); 236 237 237 $post_meta_cache[ '$post_id'][$key][] = $original;238 $post_meta_cache[$post_id][$key][] = $original; 238 239 239 240 return true; … … 243 244 global $wpdb, $post_meta_cache; 244 245 246 $post_id = (int) $post_id; 247 245 248 if ( empty($value) ) { 246 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE 247 post_id = '$post_id' AND meta_key = '$key'"); 248 } else { 249 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE 250 post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 249 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'"); 250 } else { 251 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 251 252 } 252 253 … … 255 256 256 257 if ( empty($value) ) { 257 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 258 AND meta_key = '$key'"); 259 unset($post_meta_cache['$post_id'][$key]); 260 } else { 261 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 262 AND meta_key = '$key' AND meta_value = '$value'"); 263 $cache_key = $post_meta_cache['$post_id'][$key]; 258 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'"); 259 unset($post_meta_cache[$post_id][$key]); 260 } else { 261 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 262 $cache_key = $post_meta_cache[$post_id][$key]; 264 263 if ($cache_key) foreach ( $cache_key as $index => $data ) 265 264 if ( $data == $value ) 266 unset($post_meta_cache[ '$post_id'][$key][$index]);267 } 268 269 unset($post_meta_cache[ '$post_id'][$key]);265 unset($post_meta_cache[$post_id][$key][$index]); 266 } 267 268 unset($post_meta_cache[$post_id][$key]); 270 269 271 270 return true; … … 274 273 function get_post_meta($post_id, $key, $single = false) { 275 274 global $wpdb, $post_meta_cache; 275 276 $post_id = (int) $post_id; 276 277 277 278 if ( isset($post_meta_cache[$post_id][$key]) ) { … … 308 309 global $wpdb, $post_meta_cache; 309 310 311 $post_id = (int) $post_id; 312 310 313 $original_value = $value; 311 314 if ( is_array($value) || is_object($value) ) … … 316 319 $prev_value = $wpdb->escape(serialize($prev_value)); 317 320 318 if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 319 = '$key' AND post_id = '$post_id'") ) { 321 if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = '$key' AND post_id = '$post_id'") ) { 320 322 return false; 321 323 } 322 324 323 325 if ( empty($prev_value) ) { 324 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 325 meta_key = '$key' AND post_id = '$post_id'"); 326 $cache_key = $post_meta_cache['$post_id'][$key]; 326 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE meta_key = '$key' AND post_id = '$post_id'"); 327 $cache_key = $post_meta_cache[$post_id][$key]; 327 328 if ( !empty($cache_key) ) 328 329 foreach ($cache_key as $index => $data) 329 $post_meta_cache['$post_id'][$key][$index] = $original_value; 330 } else { 331 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 332 meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 333 $cache_key = $post_meta_cache['$post_id'][$key]; 330 $post_meta_cache[$post_id][$key][$index] = $original_value; 331 } else { 332 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 333 $cache_key = $post_meta_cache[$post_id][$key]; 334 334 if ( !empty($cache_key) ) 335 335 foreach ($cache_key as $index => $data) 336 336 if ( $data == $original_prev ) 337 $post_meta_cache[ '$post_id'][$key][$index] = $original_value;337 $post_meta_cache[$post_id][$key][$index] = $original_value; 338 338 } 339 339 … … 347 347 if ( ! $post_id ) 348 348 $post_id = $id; 349 350 $post_id = (int) $post_id; 349 351 350 352 if ( isset($post_meta_cache[$post_id]) ) … … 355 357 $post_meta_cache = array(); 356 358 foreach ( $meta_list as $metarow ) { 357 $mpid = $metarow['post_id'];359 $mpid = (int) $metarow['post_id']; 358 360 $mkey = $metarow['meta_key']; 359 361 $mval = $metarow['meta_value'];
Note: See TracChangeset
for help on using the changeset viewer.