Update meta before updating the post so that page_template is not stomped. fixes #1933
git-svn-id: http://svn.automattic.com/wordpress/trunk@3190 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
2d46d957a6
commit
73dde55507
|
@ -175,25 +175,23 @@ function edit_post() {
|
|||
$_POST['post_date_gmt'] = get_gmt_from_date("$aa-$mm-$jj $hh:$mn:$ss");
|
||||
}
|
||||
|
||||
// Meta Stuff
|
||||
if ($_POST['meta']) {
|
||||
foreach ($_POST['meta'] as $key => $value)
|
||||
update_meta($key, $value['key'], $value['value']);
|
||||
}
|
||||
|
||||
if ($_POST['deletemeta']) {
|
||||
foreach ($_POST['deletemeta'] as $key => $value)
|
||||
delete_meta($key);
|
||||
}
|
||||
|
||||
add_meta($post_ID);
|
||||
|
||||
wp_update_post($_POST);
|
||||
|
||||
// Now that we have an ID we can fix any attachment anchor hrefs
|
||||
fix_attachment_links($_POST['ID']);
|
||||
|
||||
// Meta Stuff
|
||||
if ($_POST['meta'])
|
||||
: foreach ($_POST['meta'] as $key => $value)
|
||||
: update_meta($key, $value['key'], $value['value']);
|
||||
endforeach;
|
||||
endif;
|
||||
|
||||
if ($_POST['deletemeta'])
|
||||
: foreach ($_POST['deletemeta'] as $key => $value)
|
||||
: delete_meta($key);
|
||||
endforeach;
|
||||
endif;
|
||||
|
||||
add_meta($post_ID);
|
||||
fix_attachment_links($post_ID);
|
||||
|
||||
return $post_ID;
|
||||
}
|
||||
|
|
|
@ -184,11 +184,9 @@ function wp_insert_post($postarr = array()) {
|
|||
} else if ($post_status == 'static') {
|
||||
generate_page_rewrite_rules();
|
||||
|
||||
if ( empty($page_template) )
|
||||
$page_template = 'Default Template';
|
||||
|
||||
if ( ! update_post_meta($post_ID, '_wp_page_template', $page_template))
|
||||
add_post_meta($post_ID, '_wp_page_template', $page_template, true);
|
||||
if ( !empty($page_template) )
|
||||
if ( ! update_post_meta($post_ID, '_wp_page_template', $page_template))
|
||||
add_post_meta($post_ID, '_wp_page_template', $page_template, true);
|
||||
}
|
||||
|
||||
do_action('wp_insert_post', $post_ID);
|
||||
|
|
|
@ -510,15 +510,17 @@ function update_post_meta($post_id, $key, $value, $prev_value = '') {
|
|||
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE
|
||||
meta_key = '$key' AND post_id = '$post_id'");
|
||||
$cache_key = $post_meta_cache['$post_id'][$key];
|
||||
foreach ($cache_key as $index => $data)
|
||||
$post_meta_cache['$post_id'][$key][$index] = $original_value;
|
||||
if ( !empty($cache_key) )
|
||||
foreach ($cache_key as $index => $data)
|
||||
$post_meta_cache['$post_id'][$key][$index] = $original_value;
|
||||
} else {
|
||||
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE
|
||||
meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'");
|
||||
$cache_key = $post_meta_cache['$post_id'][$key];
|
||||
foreach ($cache_key as $index => $data)
|
||||
if ( $data == $original_prev )
|
||||
$post_meta_cache['$post_id'][$key][$index] = $original_value;
|
||||
if ( !empty($cache_key) )
|
||||
foreach ($cache_key as $index => $data)
|
||||
if ( $data == $original_prev )
|
||||
$post_meta_cache['$post_id'][$key][$index] = $original_value;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue