problema com atualizar metabox de upload de imagem

Eu criei um tipo de postagem personalizado e metabox para carregar outra imagem. O problema é quando eu adiciono a imagem mostrada corretamente em seu lugar no backend e quando eu atualizo também é o mesmo que eu exibi a imagem.

Mas quando eu voltar para o post para modificá-lo, não consigo encontrar a imagem e se eu fizer uma atualização para a publicação, portanto, não há nenhuma imagem a ser exibida.

 

Coordonnées

ID, '_hotel', true ); $image_src = wp_get_attachment_url( $image_id ); ?> <img id="book_image" src="https://wordpress.stackexchange.com//questions/182634/problem-with-updating-metabox-of-upload-image/" style="max-width:100%;" /> <input type="hidden" name="hotel[carte]" id="upload_image_id" value="" /> <a title="" href="#" id="set-book-image"> <a title="" href="#" id="remove-book-image" style="">

jQuery(document).ready(function($) { // save the send_to_editor handler function window.send_to_editor_default = window.send_to_editor; $('#set-book-image').click(function(){ // replace the default send_to_editor handler function with our own window.send_to_editor = window.attach_image; tb_show('', 'media-upload.php?post_id=ID ?>&type=image&TB_iframe=true'); return false; }); $('#remove-book-image').click(function() { $('#upload_image_id').val(''); $('img').attr('src', ''); $(this).hide(); return false; }); // handler function which is invoked after the user selects an image from the gallery popup. // this function displays the image and sets the id so it can be persisted to the post meta window.attach_image = function(html) { // turn the returned image html into a hidden image element so we can easily pull the relevant attributes we need $('body').append('
' + html + '
'); var img = $('#temp_image').find('img'); imgurl = img.attr('src'); imgclass = img.attr('class'); imgid = parseInt(imgclass.replace(/\D/g, ''), 10); $('#upload_image_id').val(imgid); $('#remove-book-image').show(); $('img#book_image').attr('src', imgurl); try{tb_remove();}catch(e){}; $('#temp_image').remove(); // restore the send_to_editor handler function window.send_to_editor = window.send_to_editor_default; } });

$post_id, ) ); add_action( 'save_post', 'hotels_save_post' ); } if ( ! empty( $_POST['hotel'] ) ) { $hotel_data['carte'] = ( empty( $_POST['hotel']['carte'] ) ) ? '' : sanitize_text_field( $_POST['hotel']['carte'] ); update_post_meta( $post_id, '_hotel', $hotel_data ); } else { delete_post_meta( $post_id, '_hotel' ); }} add_filter( 'manage_edit-hotels_columns', 'hotels_edit_columns' );/******************** and to show it i use *************************/if ( $query->have_posts() ) { while ( $query->have_posts() ) : $query->the_post(); $post_id = get_the_ID(); $hotel_data = get_post_meta( $post_id, '_hotel', true ); $carte = ( empty( $hotel_data['carte'] ) ) ? '' : $hotel_data['carte']; $hotels .= '
'; $carte = ( empty( $hotel_data['carte'] ) ) ? 'Map introuvable' : $hotel_data['carte']; $hotels .= '' ; $hotels .= '
';//fin map endwhile; wp_reset_postdata(); } else { echo 'Pas d\'hotels pour l\'instant'; } return $hotels;}

Solutions Collecting From Web of "problema com atualizar metabox de upload de imagem"

Não tenho tempo para escrever no seu código, mas com sua ajuda funciona para mim

 function wms_add_headerimage_cb( $post ){ //campuri $values = get_post_custom( $post->ID ); $headerpageimage = isset( $values['headerpageimage'][0] ) ? esc_attr( $values['headerpageimage'][0] ) : ''; $img_src = wp_get_attachment_image_src( $headerpageimage, 'medium' ); wp_nonce_field( 'allpages_meta_box', 'allpages_meta_box_nonce' ); ?> 

< ?php _e( 'Set image' ) ?> < ?php _e( 'Remove image' ) ?>

< ?php

}

add_action ('save_post', 'headerimage_save'); function headerimage_save ($ post_id) {

 if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id; if( !isset( $_POST['allpages_meta_box_nonce'] ) || !wp_verify_nonce( $_POST['allpages_meta_box_nonce'], 'allpages_meta_box' ) ) return $post_id; if( !current_user_can( 'edit_post' ) ) return $post_id; $allowed = array( 'a' => array( // on allow a tags 'href' => array() // and those anchors can only have href attribute ) ); // quantity Icon if( isset( $_POST['headerpageimage'] ) ) update_post_meta( $post_id, 'headerpageimage', esc_attr( $_POST['headerpageimage']) ); 

}