'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":803,"date":"2022-03-17T12:44:13","date_gmt":"2022-03-17T12:44:13","guid":{"rendered":"https:\/\/vitility.com\/product\/arm-sling-wrist\/"},"modified":"2024-04-26T19:49:24","modified_gmt":"2024-04-26T19:49:24","slug":"arm-sling-wrist","status":"publish","type":"product","link":"https:\/\/vitility.com\/product\/arm-sling-wrist\/","title":{"rendered":"Arm sling – wrist"},"content":{"rendered":"

The arm sling wrist provides effective support to the arm for recuperation. The full weight of the arm is carried in the arm sling wrist. The strap goes over the head and across the back, shoulder and underarm. This arm sling has one universal size and is adjustable in length.<\/p>\n","protected":false},"excerpt":{"rendered":"

The arm sling wrist provides effective support to the arm for recuperation. The full weight of the arm is carried in the arm sling wrist. The strap goes over the head and across the back, shoulder and underarm. This arm sling has one universal size and is adjustable in length.<\/p>\n","protected":false},"featured_media":3407,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"wds_primary_product_cat":0},"product_cat":[60,121],"product_tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product\/803"}],"collection":[{"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/comments?post=803"}],"version-history":[{"count":0,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product\/803\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/media\/3407"}],"wp:attachment":[{"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/media?parent=803"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product_cat?post=803"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product_tag?post=803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}