当你add a meta box, post对象被传递给输出元框内容的函数,ID立即可用。下面是一个快速的概念证明,在创建新帖子时,它会将ID放在帖子元框的一个字段中:
function wpd_sku_meta_box() {
add_meta_box(
\'wpd_sku\',
\'SKU\',
\'wpd_render_meta_box\',
\'post\'
);
}
add_action( \'add_meta_boxes\', \'wpd_sku_meta_box\' );
function wpd_render_meta_box( $post ) {
// $post->ID contains the ID of newly created post:
echo \'<input type="text" id="wpd_sku" name="wpd_sku" value="\' . $post->ID . \'">\';
}
function wpd_sku_save( $post_id ) {
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE )
return $post_id;
if ( ! isset( $_POST[\'wpd_sku\'] ) )
return $post_id;
$sku = $_POST[\'wpd_sku\'];
update_post_meta( $post_id, \'_wpd_sku\', $sku );
}
add_action( \'save_post\', \'wpd_sku_save\' );
但请不要按原样使用此代码,请从
add_meta_box
codex页,其中包含一些nonce和权限检查。