Insertar un cuadro de meta en la pantalla de edición de comentarios es el mismo que en las pantallas de tipos de publicación. Pero solo se puede colocar en la columna ancha, la barra lateral parece no aceptar otras casillas.
Para capturar los datos que se están publicando, solo encontré el filtro comment_edit_redirect
.
Esto debe adaptarse para que funcione con el complemento. El campo personalizado en este ejemplo es meta_comment_field
. Ver comentarios en código:
// SAVE COMMENT META
// only found this hook to process the POST
add_filter( 'comment_edit_redirect', 'save_comment_wpse_82317', 10, 2 );
// META BOX
add_action( 'add_meta_boxes', 'add_custom_box_wpse_82317' );
/**
* Save Custom Comment Field
* This hook deals with the redirect after saving, we are only taking advantage of it
*/
function save_comment_wpse_82317( $location, $comment_id )
{
// Not allowed, return regular value without updating meta
if ( !wp_verify_nonce( $_POST['noncename_wpse_82317'], plugin_basename( __FILE__ ) )
&& !isset( $_POST['meta_comment_field'] )
)
return $location;
// Update meta
update_comment_meta(
$comment_id,
'meta_comment_field',
sanitize_text_field( $_POST['meta_comment_field'] )
);
// Return regular value after updating
return $location;
}
/**
* Add Comment meta box
*/
function add_custom_box_wpse_82317()
{
add_meta_box(
'section_id_wpse_82317',
__( 'Meta Comment Meta' ),
'inner_custom_box_wpse_82317',
'comment',
'normal'
);
}
/**
* Render meta box with Custom Field
*/
function inner_custom_box_wpse_82317( $comment )
{
// Use nonce for verification
wp_nonce_field( plugin_basename( __FILE__ ), 'noncename_wpse_82317' );
$c_meta = get_comment_meta( $comment->comment_ID, 'meta_comment_field', true );
echo "<input type='text' id='meta_comment_field' name='meta_comment_field' value='",
esc_attr( $c_meta ),
"' size='25' />";
}