Salve, vi scrivo per sapere se il codice che sto scrivendo va bene cosi com'è è.
In più vorrei sapere nell'ultima funzione dove salvo le modifiche del metabox se per aggiungere altri campi dovrei implementare le graffe invece di avere solo un'if.
ecco il codice preso spunto da internet qui e la.
codice che devo aggiungere l'ip dell'utente:
codice completo:
avete idea come fare?.. sono stato due giorni alla ricerca per creare questo codice da alcuni esempi.
Grazie mille buona domenica.
In più vorrei sapere nell'ultima funzione dove salvo le modifiche del metabox se per aggiungere altri campi dovrei implementare le graffe invece di avere solo un'if.
ecco il codice preso spunto da internet qui e la.
codice che devo aggiungere l'ip dell'utente:
Codice:
function comment_edit_extra_info( $comment_id )
{
if( isset( $_POST['city'] ) )
update_comment_meta( $comment_id, 'city', esc_attr( $_POST['city'] ) );
}
add_action( 'edit_comment', 'comment_edit_extra_info' );
codice completo:
Codice:
function add_comment_extra_info_form( $default ) {
$commenter = wp_get_current_commenter();
$default[ 'fields' ][ 'email' ] .= '<p class="comment-form-author">' .
'<label for="city">'. __('City') .'</label><span class="required">*</span><input id="city" name="city" size="30" type="text" /></p>
<label for="ip">'.__('ip').'</label>'.$_SERVER["REMOTE_ADDR"].'</p>';
return $default;
}
add_filter( 'comment_form_defaults', 'add_comment_extra_info_form');
function save_comment_extra_info( $comment_id ) {
add_comment_meta($comment_id, 'city', $_POST[ 'city' ] );
add_comment_meta($comment_id, 'ip', $_SERVER["REMOTE_ADDR"]);
}
add_action( 'comment_post', 'save_comment_extra_info' );
function verify_comment_exta_info( $commentdata ) {
if ( ! isset( $_POST['city'] ) )
wp_die( __( 'Error: please fill the required field (city).' ) );
return $commentdata;
}
add_filter( 'preprocess_comment', 'verify_comment_exta_info' );
function add_comment_metabox_exta_info()
{
add_meta_box( 'comment-extra-info', __( 'Exta info' ), 'comment_display_extra_info', 'comment', 'normal', 'high' );
}
add_action( 'add_meta_boxes_comment', 'add_comment_metabox_exta_info' );
function comment_display_extra_info( $comment )
{
$city = get_comment_meta( $comment->comment_ID, 'city', true );
$ip = get_comment_meta( $comment->comment_ID, 'ip', true );
?>
<p>
<label for="city"><?php _e('city'); ?></label>
<input type="text" name="city" value="<?php echo esc_attr( $city ); ?>" class="widefat" />
</p>
<p>
<label for="ip"><?php _e('ip'); ?></label>
<input type="text" name="ip" value="<?php echo esc_attr( $ip ); ?>" class="widefat" />
</p>
<?php
}
function comment_edit_extra_info( $comment_id )
{
if( isset( $_POST['city'] ) )
update_comment_meta( $comment_id, 'city', esc_attr( $_POST['city'] ) );
}
add_action( 'edit_comment', 'comment_edit_extra_info' );
avete idea come fare?.. sono stato due giorni alla ricerca per creare questo codice da alcuni esempi.
Grazie mille buona domenica.