Skip to content

Instantly share code, notes, and snippets.

@kimcoleman
Last active April 4, 2021 03:55
Show Gist options
  • Save kimcoleman/62786c5d2d750bf123a5df1f59005b67 to your computer and use it in GitHub Desktop.
Save kimcoleman/62786c5d2d750bf123a5df1f59005b67 to your computer and use it in GitHub Desktop.
Add a hidden field to capture Membership Level on a Ninja Form. For Ninja Forms older than version 3.
<?php
/*
* Add a hidden field in Ninja Forms to capture Membership Level (if user is logged in).
*
* For Ninja Forms older than version 3
*/
function pmpro_register_ninja_form_level_field() {
$argsMl = array(
'name' => 'Membership Level',
'display_function' => 'collect_membership_level_display',
'sidebar' => 'template_fields',
'display_label' => false,
'display_wrap' => false,
);
if ( function_exists( 'ninja_forms_register_field' ) ) {
ninja_forms_register_field( 'user_membership_level', $argsMl );
}
}
add_action( 'init', 'pmpro_register_ninja_form_level_field' );
function collect_membership_level_display( $field_id, $data ) {
global $current_user;
// Get the current user's membership level object.
if ( function_exists( 'pmpro_getMembershipLevelForUser' ) ) {
$level = pmpro_getMembershipLevelForUser( $current_user->ID );
} else {
$level = false;
}
// Get the current user's membership level name.
if ( ! empty( $level ) ) {
$current_membership_level_name = $level->name;
} else {
$current_membership_level_name = false;
}
// Set the hidden level name field in the form.
if ( ! empty( $current_membership_level_name ) ) { ?>
<input type="hidden" name="ninja_forms_field_<?php echo $field_id;?>" value="<?php echo $current_membership_level_name; ?>">
<?php
}
}
@laurenhagan0306
Copy link

This recipe is included in the blog post on "Ninja Forms: Add Hidden Field for Membership Level" at Paid Memberships Pro here: https://www.paidmembershipspro.com/ninja-forms-add-hidden-field-for-membership-level/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment