这可以使用comment_post
行动,以及GFAPI
类,该类处理WordPress中的条目。
首先需要使用comment_form_default_fields
作为复选框的字段。
function add_to_email_list_field($fields) {
$fields[\'add-to-email\'] = \'<p class="comment-form-public">
<input id="addtoemail" name="addtoemail" type="checkbox" />
<label for="addtoemail">
Check this box to add yourself to our email list.
</label></p>\';
return $fields;
}
add_filter(\'comment_form_default_fields\',\'add_to_email_list_field\');
这会在注释表单(实际注释框之前)中添加一个复选框。如果选中,我们需要向重力窗体添加一个入口对象。此表单假定第一个字段是名称,第二个字段是电子邮件,表单ID是1。这需要在您的站点上进行更改:-
function save_to_gravity_form( $post_id ) {
$save_meta_checkbox = esc_attr( $_POST[\'addtoemail\'] );
if ( $save_meta_checkbox == \'on\' ) {
$entry = array( \'form_id\' => 1, // Change form ID to your Gravity Form ID
1 => esc_attr( $_POST[\'name\'] ), // Change 1 to the field ID in your Gravity Form for Name
2 => esc_attr( $_POST[\'email\'] // Change 2 to the field ID in your Gravity Form for Email )
);
$entry_id = GFAPI::add_entry($entry);
if ( is_wp_error( $entry_id ) ) {
wp_die( $entry_id->get_error_message() );
}
}
}
add_action( \'comment_post\', \'save_to_gravity_form\', 1 );
这很快,所以希望这对您有效:)