беспорядок в мета-коробке в WordPress

Мой вопрос заключается в функции 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 .

Некоторые ВОПРОСЫ / ответы, которые вы можете изучить.

  • Добавить несколько дат в пользовательский тип сообщения в WordPress
  • как добавить мета-окно на страницы wordpress

Сохранение сообщения

Действие save_post автоматически передает идентификатор сообщения в функцию обратного вызова. Который вы можете использовать внутри своей функции обратного вызова.

Некоторые уже ответили quesitons

Справка