要添加新字段,只需使用插件将其附加到默认字段。
<?php
defined( \'ABSPATH\' ) AND exit;
/* Plugin Name: (#85059) Append form fields to comment form */
add_filter( \'comment_form_default_fields\', \'wpse85059_comment_form_extd\', 100 );
function wpse85059_comment_form_extd( $fields )
{
// Append new fields …
if ( \'comment_form_default_fields\' === current_filter() )
{
foreach ( array( \'ctax_1\', \'ctax_2\', \'ctax_3\' ) as $ctax )
$fields[] = "<input value=\'{$ctax}\' name=\'{$ctax}\' />";
return $fields;
}
}
然后还可以使用评论元数据。有关它的更多信息可以在法典中阅读。
要附加元数据,您可以挂接到操作中:
add_filter( \'comment_id_fields\', \'wpse85059_comment_meta_fields\', 10, 3 );
function wpse85059_comment_meta_fields( $result, $id, $replytoid )
{
add_action ( \'comment_post\', \'wpse85059_comment_meta\', 1 );
foreach ( array( \'ctax_1\', \'ctax_2\', \'ctax_3\' ) as $ctax )
$result .= "<input value=\'{$ctax}\' name=\'{$ctax}\' />";
return $result;
}
function wpse85059_comment_meta( $comment_id )
{
// Only run once
remove_filter( current_filter(), __FUNCTION__ );
foreach ( array( \'ctax_1\', \'ctax_2\', \'ctax_3\' ) as $ctax )
add_comment_meta(
$comment_id
,$ctax
,$_POST[ $ctax ]
,true
);
}
注意:这不是测试,但应该给你一个起点。