Action Hook Field
A- A+
There is an element on the Form Elements called Action Hook
. This is a great addition for developers to extend the form as they want. It's a placeholder for creating their own hook where they could bind their functions and generate their own dynamic element.
Usage:
Parameters:
- $form_id : (integer) The ID of the form
- $post_id : NULL or (integer) the ID of the post. When creating a new post, the parameter becomes NULL. When editing a post, you get the edited post ID as the parameter
- $form_settings : (array) An array of form settings
Example:
Here we have added a new action hook field called my_brand_new_hook
and saving our field informations in a meta key named your_meta_key
. We are adding the field into the form with the your_function_name
function and updating the form value with update_my_brand_new_hook
Code Example,
/*
* How to use custom Action/hook inside your post form.
*/
/**
* Add the input field to the form
* Save & update the field on the backend metabox
*
* @param int $form_id
* @param null|int $post_id
* @param array $form_settings
*
*/
function render_my_custom_hook( $form_id, $post_id, $form_settings ) {
$value = '';
if ( $post_id ) {
$value = get_post_meta( $post_id, 'your_meta_key', true );
}
?>
<div class="wpuf-label">
<label>Text Field</label>
</div>
<div class="wpuf-fields">
<input type="text" name="my_custom_text_field" value="<?php echo esc_attr( $value ); ?>">
</div>
<?php
}
add_action( 'my_custom_action_hook', 'render_my_custom_hook', 10, 3 );
function update_my_brand_new_hook( $post_id ) {
if ( isset( $_POST['my_custom_text_field'] ) ) {
update_post_meta( $post_id, 'your_meta_key', $_POST['my_custom_text_field'] );
}
}
add_action( 'wpuf_add_post_after_insert', 'update_my_brand_new_hook' );
add_action( 'wpuf_edit_post_after_update', 'update_my_brand_new_hook' );