Hallo in die Runde,
ich stehe gerade etwas auf dem Schlauch:
Wordpress 3.04
Auf einem Blog sollen ein paar Meta Boxen auf der Add Post Page zugefügt werden. Soweit klappt das eigentlich auch. Eigentlich .. sobald man Daten einträgt - VERÖFFENTLICHEN klickt - sind die Daten nicht gespeichert und verschwunden.
Das Problem hatte ich bereits (ebenf. bei WP 3.04) mit dem Plugin "More Fields" (was in Zusammenspiel mit den anderen Plugins dieser serie "More Taxonomies", etc.) zu einem Total Crash geführt hatte und jetzt auch mit dem Tutorial von ..
http://www.deluxeblogtips.com/2010/04/how-to…press-post.html
Die in die Neu kreierten META BOXEN getippten Daten werden leider nicht gespeichert. Jetzt frage ich mich gerade, ob es an meinen Theme liegt (dass sich da irgendwelche Funktionen beissen), oder ... ja woran?
Ich weiss, dass Ihr sicherlich besseres zu tuen habt, aber trotzdem wärs cool (und nett) wenn Ihr hier einmal drüber schauen könntet.
Save Function (des Tutorials):
add_action('save_post', 'mytheme_save_data');
// Save data from meta box
function mytheme_save_data($post_id) {
global $meta_box;
// verify nonce
if (!wp_verify_nonce($_POST['mytheme_meta_box_nonce'], basename(__FILE__))) {
return $post_id;
}
// check autosave
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return $post_id;
}
// check permissions
if ('page' == $_POST['post_type']) {
if (!current_user_can('edit_page', $post_id)) {
return $post_id;
}
} elseif (!current_user_can('edit_post', $post_id)) {
return $post_id;
}
foreach ($meta_box['fields'] as $field) {
$old = get_post_meta($post_id, $field['id'], true);
$new = $_POST[$field['id']];
if ($new && $new != $old) {
update_post_meta($post_id, $field['id'], $new);
} elseif ('' == $new && $old) {
delete_post_meta($post_id, $field['id'], $old);
}
}
}
Alles anzeigen
Danke schon mal allen vorab, die sich die Mühe gemacht haben.
Gruß
NML