WPSEO_Taxonomy_Fields_Presenter::get_field()
Generates the html for the given field config.
Метод класса: WPSEO_Taxonomy_Fields_Presenter{}
Хуков нет.
Возвращает
Строку
.
Использование
// private - только в коде основоного (родительского) класса $result = $this->get_field( $field_type, $field_name, $field_value, $options );
- $field_type(строка) (обязательный)
- The fieldtype, e.g: text, checkbox, etc.
- $field_name(строка) (обязательный)
- The name of the field.
- $field_value(строка) (обязательный)
- The value of the field.
- $options(массив) (обязательный)
- Array with additional options.
Код WPSEO_Taxonomy_Fields_Presenter::get_field() WPSEO Taxonomy Fields Presenter::get field Yoast 22.3
private function get_field( $field_type, $field_name, $field_value, array $options ) { $class = $this->get_class( $options ); $field = ''; $description = ''; $aria_describedby = ''; if ( ! empty( $options['description'] ) ) { $aria_describedby = ' aria-describedby="' . $field_name . '-desc"'; $description = '<p id="' . $field_name . '-desc" class="yoast-metabox__description">' . $options['description'] . '</p>'; } switch ( $field_type ) { case 'div': $field .= '<div id="' . $field_name . '"></div>'; break; case 'url': $field .= '<input name="' . $field_name . '" id="' . $field_name . '" ' . $class . ' type="url" value="' . esc_attr( urldecode( $field_value ) ) . '" size="40"' . $aria_describedby . '/>'; break; case 'text': $field .= '<input name="' . $field_name . '" id="' . $field_name . '" ' . $class . ' type="text" value="' . esc_attr( $field_value ) . '" size="40"' . $aria_describedby . '/>'; break; case 'checkbox': $field .= '<input name="' . $field_name . '" id="' . $field_name . '" type="checkbox" ' . checked( $field_value ) . $aria_describedby . '/>'; break; case 'textarea': $rows = 3; if ( ! empty( $options['rows'] ) ) { $rows = $options['rows']; } $field .= '<textarea class="large-text" rows="' . esc_attr( $rows ) . '" id="' . $field_name . '" name="' . $field_name . '"' . $aria_describedby . '>' . esc_textarea( $field_value ) . '</textarea>'; break; case 'upload': $field .= '<input' . ' id="' . $field_name . '"' . ' type="text"' . ' size="36"' . ' name="' . $field_name . '"' . ' value="' . esc_attr( $field_value ) . '"' . $aria_describedby . '' . ' readonly="readonly"' . ' /> '; $field .= '<input' . ' id="' . esc_attr( $field_name ) . '_button"' . ' class="wpseo_image_upload_button button"' . ' data-target="' . esc_attr( $field_name ) . '"' . ' data-target-id="hidden_' . esc_attr( $field_name ) . '-id"' . ' type="button"' . ' value="' . esc_attr__( 'Upload Image', 'wordpress-seo' ) . '"' . ' /> '; $field .= '<input' . ' id="' . esc_attr( $field_name ) . '_button"' . ' class="wpseo_image_remove_button button"' . ' type="button"' . ' value="' . esc_attr__( 'Clear Image', 'wordpress-seo' ) . '"' . ' />'; break; case 'select': if ( is_array( $options ) && $options !== [] ) { $field .= '<select name="' . $field_name . '" id="' . $field_name . '"' . $aria_describedby . '>'; $select_options = ( array_key_exists( 'options', $options ) ) ? $options['options'] : $options; foreach ( $select_options as $option => $option_label ) { $selected = selected( $option, $field_value, false ); $field .= '<option ' . $selected . ' value="' . esc_attr( $option ) . '">' . esc_html( $option_label ) . '</option>'; } unset( $option, $option_label, $selected ); $field .= '</select>'; } break; case 'hidden': $field .= '<input name="' . $field_name . '" id="hidden_' . $field_name . '" type="hidden" value="' . esc_attr( $field_value ) . '" />'; break; } return $field . $description; }