@kentos

Почему не остаётся значение?

Здравствуйте, пишу плагин и возник вопрос при создании записи ввожу данные, обновляю и данные пропадают как пофиксить?
add_action('add_meta_boxes', 'lft_add_custom_box');
function lft_add_custom_box(){
	$screens = array( 'hotel' );
	add_meta_box( 'lft_sectionid', 'External ID', 'lft_meta_box_callback', $screens );
}

function lft_meta_box_callback( $post, $meta ){
	$screens = $meta['args'];

	wp_nonce_field( plugin_basename(__FILE__), 'lft_noncename' );

	echo '<label for="lft_new_field">' . __("Введите ID", 'lft_textdomain' ) . '</label> ';
	echo '<input type="text" id= "lft_new_field" name="lft_new_field" value="Ex:14" size="25" />';
}

add_action( 'save_post', 'lft_save_postdata' );
function lft_save_postdata( $post_id ) {
	
	if ( ! isset( $_POST['lft_new_field'] ) )
		return;

	
	if ( ! wp_verify_nonce( $_POST['lft_noncename'], plugin_basename(__FILE__) ) )
		return;

	if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
		return;

	if( ! current_user_can( 'edit_post', $post_id ) )
		return;

	$my_data = sanitize_text_field( $_POST['lft_new_field'] );

	update_post_meta( $post_id, '_my_meta_value_key', $my_data );
}
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
av-nexter
@av-nexter
Так вы же в поле значение выводить забыли)
Замените
echo '<input type="text" id= "lft_new_field" name="lft_new_field" value="Ex:14" size="25" />';

На
echo '<input type="text" id= "lft_new_field" name="lft_new_field" value="' . get_post_meta( $post->ID, '_my_meta_value_key', true ) . '" size="25" />';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы