Мой вопрос заключается в функции save($postID)
. Здесь есть параметр $postID
который используется в функции для сохранения как id. Я вижу, что этот $postID
имеет нулевое значение. Как работает фактический почтовый идентификатор для $postID
?
This is the simple meta-box code /* simple meta box */ /* creating field */ add_action('admin_menu', 'my_post_options_box'); function my_post_options_box() { if ( function_exists('add_meta_box') ) { add_meta_box('post_header', 'Asif, save me!', 'testfield', 'post', 'normal', 'low'); } } function testfield(){ global $post; ?> <input type="text" name="Asif" id="Asif" value="<?php echo get_post_meta($post->ID, 'Sumon', true); ?>"> <?php } /* end of creating field */ /* storing field after pressing save button */ add_action('save_post', 'save'); function save($postID){ if (!defined('DOING_AUTOSAVE') && !DOING_AUTOSAVE) { return $postID; } else { if($parent_id = wp_is_post_revision($postID)) { $postID = $parent_id; } if ($_POST['Asif']) { update_custom_meta($postID, $_POST['Asif'], 'Sumon'); } } } // saving in postmeta table function update_custom_meta($postID, $newvalue, $field_name){ if(!get_post_meta($postID, $field_name)){ // create field add_post_meta($postID, $field_name, $newvalue); } else{ //update field update_post_meta($postID, $field_name, $newvalue); } }
Вы использовали неправильный Action Hook.
Вместо использования add_action('admin_menu', 'my_post_options_box');
Используйте add_action('add_meta_boxes', 'my_post_options_box');
add_action('add_meta_boxes', 'my_post_options_box'); function my_post_options_box() { if ( function_exists('add_meta_box') ) { add_meta_box('post_header', 'Asif, save me!', 'testfield', 'post', 'normal', 'low'); } }
Подробную информацию можно найти в http://codex.wordpress.org/Function_Reference/add_meta_box .
Некоторые ВОПРОСЫ / ответы, которые вы можете изучить.
Действие save_post
автоматически передает идентификатор сообщения в функцию обратного вызова. Который вы можете использовать внутри своей функции обратного вызова.
Некоторые уже ответили quesitons
Справка