'name_en' => 'Signature', 'type' => 'signature', 'group' => 'fancy', 'addon' => 'wpforms-signatures', 'order' => '310', ], [ 'icon' => 'fa-ellipsis-h', 'name' => esc_html__( 'Likert Scale', 'wpforms-lite' ), 'keywords' => esc_html__( 'survey, rating scale', 'wpforms-lite' ), 'name_en' => 'Likert Scale', 'type' => 'likert_scale', 'group' => 'fancy', 'addon' => 'wpforms-surveys-polls', 'order' => '400', ], [ 'icon' => 'fa-tachometer', 'name' => esc_html__( 'Net Promoter Score', 'wpforms-lite' ), 'keywords' => esc_html__( 'survey, nps', 'wpforms-lite' ), 'name_en' => 'Net Promoter Score', 'type' => 'net_promoter_score', 'group' => 'fancy', 'addon' => 'wpforms-surveys-polls', 'order' => '410', ], [ 'icon' => 'fa-credit-card', 'name' => esc_html__( 'PayPal Commerce', 'wpforms-lite' ), 'keywords' => esc_html__( 'store, ecommerce, credit card, pay, payment, debit card', 'wpforms-lite' ), 'name_en' => 'PayPal Commerce', 'type' => 'paypal-commerce', 'group' => 'payment', 'addon' => 'wpforms-paypal-commerce', 'order' => '89', ], [ 'icon' => 'fa-credit-card', 'name' => esc_html__( 'Square', 'wpforms-lite' ), 'keywords' => esc_html__( 'store, ecommerce, credit card, pay, payment, debit card', 'wpforms-lite' ), 'name_en' => 'Square', 'type' => 'square', 'group' => 'payment', 'addon' => 'wpforms-square', 'order' => '92', ], [ 'icon' => 'fa-credit-card', 'name' => esc_html__( 'Authorize.Net', 'wpforms-lite' ), 'keywords' => esc_html__( 'store, ecommerce, credit card, pay, payment, debit card', 'wpforms-lite' ), 'name_en' => 'Authorize.Net', 'type' => 'authorize_net', 'group' => 'payment', 'addon' => 'wpforms-authorize-net', 'order' => '95', ], [ 'icon' => 'fa-ticket', 'name' => esc_html__( 'Coupon', 'wpforms-lite' ), 'keywords' => esc_html__( 'discount, sale', 'wpforms-lite' ), 'name_en' => 'Coupon', 'type' => 'payment-coupon', 'group' => 'payment', 'addon' => 'wpforms-coupons', 'order' => '100', ], ]; $captcha = $this->get_captcha(); if ( ! empty( $captcha ) ) { array_push( $this->fields, $captcha ); } return $this->fields; } /** * Get Captcha field data. * * @since 1.6.6 * * @return array Captcha field data. */ private function get_captcha() { $captcha_settings = wpforms_get_captcha_settings(); if ( empty( $captcha_settings['provider'] ) ) { return []; } $captcha = [ 'hcaptcha' => [ 'name' => 'hCaptcha', 'icon' => 'fa-question-circle-o', ], 'recaptcha' => [ 'name' => 'reCAPTCHA', 'icon' => 'fa-google', ], 'turnstile' => [ 'name' => 'Turnstile', 'icon' => 'fa-question-circle-o', ], ]; if ( ! empty( $captcha_settings['site_key'] ) || ! empty( $captcha_settings['secret_key'] ) ) { $captcha_name = $captcha[ $captcha_settings['provider'] ]['name']; $captcha_icon = $captcha[ $captcha_settings['provider'] ]['icon']; } else { $captcha_name = 'CAPTCHA'; $captcha_icon = 'fa-question-circle-o'; } return [ 'icon' => $captcha_icon, 'name' => $captcha_name, 'name_en' => $captcha_name, 'keywords' => esc_html__( 'captcha, spam, antispam', 'wpforms-lite' ), 'type' => 'captcha_' . $captcha_settings['provider'], 'group' => 'standard', 'order' => 180, 'class' => 'not-draggable', ]; } /** * Get filtered fields data. * * Usage: * get_filtered( [ 'group' => 'payment' ] ) - fields from the 'payment' group. * get_filtered( [ 'addon' => 'surveys-polls' ] ) - fields of the addon 'surveys-polls'. * get_filtered( [ 'type' => 'payment-total' ] ) - field 'payment-total'. * * @since 1.6.6 * * @param array $args Arguments array. * * @return array Fields data filtered according to given arguments. */ private function get_filtered( $args = [] ) { $default_args = [ 'group' => '', 'addon' => '', 'type' => '', ]; $args = array_filter( wp_parse_args( $args, $default_args ) ); $fields = $this->get_all(); $filtered_fields = []; foreach ( $args as $prop => $prop_val ) { foreach ( $fields as $field ) { if ( ! empty( $field[ $prop ] ) && $field[ $prop ] === $prop_val ) { array_push( $filtered_fields, $field ); } } } return $filtered_fields; } /** * Get fields by group. * * @since 1.6.6 * * @param string $group Fields group (standard, fancy or payment). * * @return array. */ public function get_by_group( $group ) { return $this->get_filtered( [ 'group' => $group ] ); } /** * Get fields by addon. * * @since 1.6.6 * * @param string $addon Addon slug. * * @return array. */ public function get_by_addon( $addon ) { return $this->get_filtered( [ 'addon' => $addon ] ); } /** * Get field by type. * * @since 1.6.6 * * @param string $type Field type. * * @return array Single field data. Empty array if field is not available. */ public function get_field( $type ) { $fields = $this->get_filtered( [ 'type' => $type ] ); return ! empty( $fields[0] ) ? $fields[0] : []; } /** * Set key value of each field (conditionally). * * @since 1.6.6 * * @param array $fields Fields data. * @param string $key Key. * @param string $value Value. * @param string $condition Condition. * * @return array Updated field data. */ public function set_values( $fields, $key, $value, $condition ) { if ( empty( $fields ) || empty( $key ) ) { return $fields; } foreach ( $fields as $f => $field ) { switch ( $condition ) { case 'empty': $fields[ $f ][ $key ] = empty( $field[ $key ] ) ? $value : $field[ $key ]; break; default: $fields[ $f ][ $key ] = $value; } } return $fields; } } {"id":134,"date":"2022-01-24T11:05:27","date_gmt":"2022-01-24T11:05:27","guid":{"rendered":"https:\/\/vitility.com\/?page_id=134"},"modified":"2023-09-19T08:30:44","modified_gmt":"2023-09-19T08:30:44","slug":"bathroom-toilet","status":"publish","type":"page","link":"https:\/\/vitility.com\/bathroom-toilet\/","title":{"rendered":"Bathroom & Toilet"},"content":{"rendered":"\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t