Astra_Target_Rules_Fields::target_user_role_settings_field( string $name, string $settings, string $value )
Function Name: target_user_role_settings_field.
Description
Function Description: Function to handle new input type.
Parameters
- $name
-
(string) (Required) string parameter.
- $settings
-
(string) (Required) string parameter.
- $value
-
(string) (Required) string parameter.
Source
File: classes/modules/target-rule/class-astra-target-rules-fields.php
public static function target_user_role_settings_field( $name, $settings, $value ) { $input_name = $name; $type = isset( $settings['type'] ) ? $settings['type'] : 'target_rule'; $class = isset( $settings['class'] ) ? $settings['class'] : ''; $rule_type = isset( $settings['rule_type'] ) ? $settings['rule_type'] : 'target_rule'; $add_rule_label = isset( $settings['add_rule_label'] ) ? $settings['add_rule_label'] : __( 'Add Rule', 'astra-addon' ); $saved_values = $value; $output = ''; if ( ! isset( self::$user_selection ) || empty( self::$user_selection ) ) { self::$user_selection = self::get_user_selections(); } $selection_options = self::$user_selection; /* WP Template Format */ $output .= '<script type="text/html" id="tmpl-astra-user-role-condition">'; $output .= '<div class="astra-user-role-condition ast-user-role-{{data.id}}" data-rule="{{data.id}}" >'; $output .= '<span class="user_role-condition-delete dashicons dashicons-dismiss"></span>'; /* Condition Selection */ $output .= '<div class="user_role-condition-wrap" >'; $output .= '<select name="' . esc_attr( $input_name ) . '[{{data.id}}]" class="user_role-condition form-control ast-input">'; $output .= '<option value="">' . __( 'Select', 'astra-addon' ) . '</option>'; foreach ( $selection_options as $group => $group_data ) { $output .= '<optgroup label="' . $group_data['label'] . '">'; foreach ( $group_data['value'] as $opt_key => $opt_value ) { $output .= '<option value="' . $opt_key . '">' . $opt_value . '</option>'; } $output .= '</optgroup>'; } $output .= '</select>'; $output .= '</div>'; $output .= '</div> <!-- astra-user-role-condition -->'; $output .= '</script>'; if ( ! is_array( $saved_values ) || ( is_array( $saved_values ) && empty( $saved_values ) ) ) { $saved_values = array(); $saved_values[0] = ''; } $index = 0; $output .= '<div class="ast-user-role-wrapper ast-user-role-display-on-wrap" data-type="display">'; $output .= '<div class="ast-user-role-selector-wrapper ast-user-role-display-on">'; $output .= '<div class="user_role-builder-wrap">'; foreach ( $saved_values as $index => $data ) { $output .= '<div class="astra-user-role-condition ast-user-role-' . $index . '" data-rule="' . $index . '" >'; $output .= '<span class="user_role-condition-delete dashicons dashicons-dismiss"></span>'; /* Condition Selection */ $output .= '<div class="user_role-condition-wrap" >'; $output .= '<select name="' . esc_attr( $input_name ) . '[' . $index . ']" class="user_role-condition form-control ast-input">'; $output .= '<option value="">' . __( 'Select', 'astra-addon' ) . '</option>'; foreach ( $selection_options as $group => $group_data ) { $output .= '<optgroup label="' . $group_data['label'] . '">'; foreach ( $group_data['value'] as $opt_key => $opt_value ) { $output .= '<option value="' . $opt_key . '" ' . selected( $data, $opt_key, false ) . '>' . $opt_value . '</option>'; } $output .= '</optgroup>'; } $output .= '</select>'; $output .= '</div>'; $output .= '</div> <!-- astra-user-role-condition -->'; } $output .= '</div>'; /* Add new rule */ $output .= '<div class="user_role-add-rule-wrap">'; $output .= '<a href="#" class="button" data-rule-id="' . absint( $index ) . '">' . $add_rule_label . '</a>'; $output .= '</div>'; $output .= '</div>'; $output .= '</div>'; echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped }
Expand full source code Collapse full source code View on Trac