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

Shower sleeves protect your cast or bandage while you\u2019re taking a bath or shower. The elastic fastener ensures that water doesn\u2019t enter the sleeve. The sleeve is easy to put on unassisted, and is intended for multiple use. Not suitable for open or uncovered wounds. Not suitable for swimming.<\/p>\n","protected":false},"excerpt":{"rendered":"

Shower sleeves protect your cast or bandage while you\u2019re taking a bath or shower. The elastic fastener ensures that water doesn\u2019t enter the sleeve. The sleeve is easy to put on unassisted, and is intended for multiple use. Not suitable for open or uncovered wounds. Not suitable for swimming.<\/p>\n","protected":false},"featured_media":7632,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"wds_primary_product_cat":0},"product_cat":[115,27],"product_tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product\/690"}],"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=690"}],"version-history":[{"count":0,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product\/690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/media\/7632"}],"wp:attachment":[{"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product_cat?post=690"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/vitility.com\/wp-json\/wp\/v2\/product_tag?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}