jacodelucia
2/13/2015 - 2:46 PM

WP - Metaboxe

WP - Metaboxe

<?php

/*******************************************/
/* META BOXES */
/*******************************************/

/**
 * PRIX
 */

function meta_vins_init()
{
    add_meta_box('vins_prix_meta', 'Prix', 'vins_prix_setup', 'vins', 'normal', 'high');
    
}
add_action('add_meta_boxes','meta_vins_init');


function vins_prix_setup()
{
    global $post;
    $meta = get_post_meta($post->ID,'_prix',TRUE);
    wp_nonce_field( basename( __FILE__ ), 'vins_prix_noncename' );
    echo '<label for="myplugin_new_field">';
    echo '</label> ';
    echo '<input type="text" pattern="\d*" id="vin_prix" name="_prix" value="' . $meta . '" size="25" /> €';
}


function vins_prix_save($post_id) 
{
    if ( ! wp_verify_nonce($_POST['vins_prix_noncename'],basename( __FILE__ ))) return $post_id;
    
    if ($_POST['post_type'] == 'vins'){
        if(!current_user_can('edit_page', $post_id)) return $post_id;
    } else {
        if(!current_user_can('edit_post', $post_id)) return $post_id;
    }

    $current_data = get_post_meta($post_id, '_prix', TRUE);   
    $new_data = $_POST['_prix'];
    
    if( ! is_numeric($new_data) ) $new_data = 0;
    
    update_post_meta($post_id,'_prix',$new_data);

    return $post_id;
}
add_action('save_post','vins_prix_save', 10, 2);