public function render(WP_Form_Component $element)
 {
     $label = '';
     if (is_callable(array($element, 'get_label'))) {
         $label = $element->get_label();
     }
     if (empty($label)) {
         return $this->component_view->render($element);
     }
     $position = self::POSITION_BEFORE;
     if (!empty($this->args['position'])) {
         $position = $this->args['position'];
     }
     $class = apply_filters('wp_form_label_html_class', 'form-label');
     switch ($position) {
         case self::POSITION_AFTER:
             $template = '%4$s <label for="%1$s" class="%2$s">%3$s</label>';
             break;
         case self::POSITION_SURROUND:
             $template = '<label for="%1$s" class="%2$s">%4$s %3$s</label>';
             break;
         case self::POSITION_BEFORE:
         default:
             $template = '<label for="%1$s" class="%2$s">%3$s</label> %4$s';
             break;
     }
     return sprintf($template, $element->get_id(), $class, $label, $this->component_view->render($element));
 }