update_post_meta для пользовательского типа сообщения в Wordpress не работает - PullRequest
0 голосов
/ 10 сентября 2011

но я пытаюсь создать пользовательский тип сообщения, добавить мета-бокс и сохранить в нем пользовательский файл.Теперь, когда я нажимаю сохранить, значение моего входного текста не сохраняется, оно остается пустым.

Вот мой код (моя первая попытка), надеюсь, кто-то может мне помочь, спасибо:)

<?php

//DEFINISCO IL CUSTOM POST TYPE TETTI
add_action( 'init', 'tetti_post_type' );
function tetti_post_type() {

$labels_tetti = array (
    'name' => __('Tetti'),
    'singular_name' => __('Tetto'),
    'add_new' => __('Aggiungi Tetto'),
    'add_new_item' => __('Aggiungi Nuovo Tetto'),
    'view_item' => __('Vedi Tetto')
    );

$args_tetti = array (
    'labels' => $labels_tetti,
    'public' => true,
    'publicly_querable' => true,
    'show_ui' => true,
    'rewrite' =>true,
    'menu_position' => 5
    );

register_post_type ('tetti', $args_tetti);
}
//AGGANCIO I CAMPI PRESONALIZZATI AL CUSTOM POST TYPE TETTI
add_action( 'add_meta_boxes', 'custom_field_tetti' );

function custom_field_tetti(){
add_meta_box('specifiche_tetti_meta', 'Specifiche Tetti', 'specifiche_tetti', 'tetti', 'normal', 'high' );
}

function specifiche_tetti(){
global $post;
$custom_seriale = get_post_custom($post->ID);
$tetti_seriale = $custom_seriale['tetti_seriale'][0]; ?>
<label>Seriale:</label>
<input type="text" id="tetti_seriale" name="tetti_seriale" value="<?php echo $tetti_seriale; ?>"/>

<?php }

//SALVO I CAMPI PRESONALIZZATI DEL CUSTOM POST TYPE TETTI
add_action('save_post', 'save_specifiche_tetti');
global $post;
function save_specifiche_tetti(){
update_post_meta($post->ID, 'tetti_seriale', $_POST['tetti_seriale']);
}

?>

1 Ответ

0 голосов
/ 15 декабря 2011

У вас есть 'global $post;' вне функции save_specifiche_tetti, поэтому ваш update_post_meta не имеет доступа к ID

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...