], false ); $fld = $this->field_element( 'select', $field, [ 'slug' => 'icon_size', 'value' => ! empty( $field['icon_size'] ) ? esc_attr( $field['icon_size'] ) : 'medium', 'options' => [ 'small' => esc_html__( 'Small', 'wpforms-lite' ), 'medium' => esc_html__( 'Medium', 'wpforms-lite' ), 'large' => esc_html__( 'Large', 'wpforms-lite' ), ], ], false ); $this->field_element( 'row', $field, [ 'slug' => 'icon_size', 'content' => $lbl . $fld, ] ); $this->score_labels( $field ); // Icon color picker. $lbl = $this->field_element( 'label', $field, [ 'slug' => 'icon_color', 'value' => esc_html__( 'Icon Color', 'wpforms-lite' ), 'tooltip' => esc_html__( 'Select the color for the rating icon', 'wpforms-lite' ), ], false ); $icon_color = isset( $field['icon_color'] ) ? wpforms_sanitize_hex_color( $field['icon_color'] ) : ''; $icon_color = empty( $icon_color ) ? $this->get_default_icon_color() : $icon_color; $fld = $this->field_element( 'color', $field, [ 'slug' => 'icon_color', 'value' => $icon_color, 'data' => [ 'fallback-color' => $icon_color, ], ], false ); $this->field_element( 'row', $field, [ 'slug' => 'icon_color', 'content' => $lbl . $fld, 'class' => 'color-picker-row', ] ); // Custom CSS classes. $this->field_option( 'css', $field ); // Hide label. $this->field_option( 'label_hide', $field ); // Options close markup. $this->field_option( 'advanced-options', $field, [ 'markup' => 'close', ] ); } /** * Score labels. * * @since 1.9.8 * * @param array $field Field settings. */ private function score_labels( array $field ): void { // Lowest score label. $lowest_label = $this->field_element( 'label', $field, [ 'slug' => 'lowest_label', 'value' => esc_html__( 'Lowest Score Label', 'wpforms-lite' ), 'tooltip' => esc_html__( 'This label indicates the lowest score on the scale.', 'wpforms-lite' ), ], false ); $lowest_field = $this->field_element( 'text', $field, [ 'slug' => 'lowest_label', 'value' => $field['lowest_label'] ?? '', ], false ); $this->field_element( 'row', $field, [ 'slug' => 'lowest_label', 'content' => $lowest_label . $lowest_field, ] ); // Highest score label. $highest_label = $this->field_element( 'label', $field, [ 'slug' => 'highest_label', 'value' => esc_html__( 'Highest Score Label', 'wpforms-lite' ), 'tooltip' => esc_html__( 'This label indicates the highest score on the scale.', 'wpforms-lite' ), ], false ); $highest_field = $this->field_element( 'text', $field, [ 'slug' => 'highest_label', 'value' => $field['highest_label'] ?? '', ], false ); $this->field_element( 'row', $field, [ 'slug' => 'highest_label', 'content' => $highest_label . $highest_field, ] ); // Label position. $label_position = $this->field_element( 'label', $field, [ 'slug' => 'label_position', 'value' => esc_html__( 'Label Position', 'wpforms-lite' ), 'tooltip' => esc_html__( 'Select the position of the label', 'wpforms-lite' ), ], false ); $select_position = $this->field_element( 'select', $field, [ 'slug' => 'label_position', 'value' => ! empty( $field['label_position'] ) ? esc_attr( $field['label_position'] ) : 'below', 'options' => [ 'above' => esc_html__( 'Above', 'wpforms-lite' ), 'below' => esc_html__( 'Below', 'wpforms-lite' ), ], ], false ); $this->field_element( 'row', $field, [ 'slug' => 'label_position', 'content' => $label_position . $select_position, ] ); } /** * Field preview inside the builder. * * @since 1.9.4 * * @param array $field Field settings. */ public function field_preview( $field ): void { // Label. $this->field_preview_option( 'label', $field, [ 'label_badge' => $this->get_field_preview_badge(), ] ); echo '
'; $this->get_field_preview_icons( $field ); $this->get_field_preview_labels( $field ); echo '
'; // Description. $this->field_preview_option( 'description', $field ); } /** * Get field preview icons. * * @since 1.9.8 * * @param array $field Field settings. */ private function get_field_preview_icons( array $field ): void { // Define data. $scale = ! empty( $field['scale'] ) ? esc_attr( $field['scale'] ) : 5; $icon = ! empty( $field['icon'] ) ? esc_attr( $field['icon'] ) : 'star'; $icon_size = ! empty( $field['icon_size'] ) ? esc_attr( $field['icon_size'] ) : 'medium'; $icon_color = ! empty( $field['icon_color'] ) ? esc_attr( $field['icon_color'] ) : $this->get_default_icon_color(); $icon_class = $this->get_preview_icon_class( $icon ); // Set icon size. $icon_size_css = $this->get_icon_size_css( $icon_size ); echo '
'; // Primary input. for ( $i = 1; $i <= 10; $i++ ) { printf( '', esc_attr( $icon_class ), esc_attr( $icon_size ), esc_attr( $icon_color ), $i <= $scale ? 'inline-block' : 'none', esc_attr( $icon_size_css ) ); } echo '
'; } /** * Get preview icon class based on the selected icon. * * @since 1.9.8 * * @param string $icon Selected icon. * * @return string Icon class. */ private function get_preview_icon_class( string $icon ): string { $icon_class = ''; // Set icon class. switch ( $icon ) { case 'star': $icon_class = 'fa-star'; break; case 'heart': $icon_class = 'fa-heart'; break; case 'thumb': $icon_class = 'fa-thumbs-up'; break; case 'smiley': $icon_class = 'fa-smile-o'; break; } return $icon_class; } /** * Get field preview labels. * * @since 1.9.8 * * @param array $field Field settings. */ private function get_field_preview_labels( array $field ): void { // Lowest score label. $lowest_label = ! empty( $field['lowest_label'] ) ? esc_html( $field['lowest_label'] ) : ''; // Highest score label. $highest_label = ! empty( $field['highest_label'] ) ? esc_html( $field['highest_label'] ) : ''; $class = [ 'wpforms-rating-field-labels' ]; if ( ! empty( $field['label_position'] ) && $field['label_position'] === 'above' ) { $class[] = 'wpforms-rating-field-labels-position-above'; } if ( empty( $lowest_label ) && empty( $highest_label ) ) { $class[] = 'wpforms-hidden'; } echo '
'; printf( '%s', esc_html( $lowest_label ) ); printf( '%s', esc_html( $highest_label ) ); echo '
'; } /** * Field display on the form front-end. * * @since 1.9.4 * * @param array $field Field settings. * @param array $deprecated Deprecated, don't use. * @param array $form_data Form data and settings. */ public function field_display( $field, $deprecated, $form_data ) { } /** * Get icon size CSS value in pixels. * * @since 1.9.4 * * @param string $icon_size Icon size value. */ protected function get_icon_size_css( $icon_size ): string { $render_engine = wpforms_get_render_engine(); $icon_sizes = [ 'classic' => [ 'small' => '18', 'medium' => '28', 'large' => '38', ], 'modern' => [ 'small' => '16', 'medium' => '24', 'large' => '38', ], ]; $default = $render_engine === 'modern' ? '24' : '28'; return ! empty( $icon_sizes[ $render_engine ][ $icon_size ] ) ? $icon_sizes[ $render_engine ][ $icon_size ] : $default; } /** * Get default icon color. * * @since 1.9.4 * * @return string */ public function get_default_icon_color(): string { $render_engine = wpforms_get_render_engine(); return array_key_exists( $render_engine, self::DEFAULT_ICON_COLOR ) ? self::DEFAULT_ICON_COLOR[ $render_engine ] : self::DEFAULT_ICON_COLOR['modern']; } } Dětské zázemí v Nestdomi: co očekávat – prague@nestdomi.com

Tento odstavec slouží jako úvod k vašemu příspěvku na blogu. Začněte tím, že proberete hlavní téma nebo problém, který plánujete pokrýt, a zajistěte, aby zaujal čtenáře od první věty. Poskytněte stručný přehled, který zdůrazní, proč je toto téma důležité a jak může přinést hodnotu. Použijte tento prostor k nastavení tónu zbytku článku a k přípravě čtenářů na další cestu. Udržujte jazyk přístupný, ale informativní, abyste vytvořili silné spojení.

Někdy nejjednodušší okamžiky obsahují nejhlubší moudrost. Nechte své myšlenky usadit se a jasnost vás najde. Použijte tento prostor pro citaci k sdílení něčeho inspirativního nebo zamyšleného, co se dokonale hodí k tématu vašeho článku.

Tento odstavec se hlouběji zabývá tématem, které bylo dříve představeno, a rozvíjí hlavní myšlenku pomocí příkladů, analýz nebo dalšího kontextu. Použijte tuto sekci k rozpracování konkrétních bodů a zajistěte, aby každá věta navazovala na předchozí, aby byl zachován soudržný tok. Můžete zahrnout data, anekdoty nebo názory odborníků k posílení svých tvrzení. Držte jazyk stručný, ale dostatečně popisný, aby čtenáře zaujal. Zde začíná podstata vašeho článku nabírat tvar.

Jak se blížíte ke středu článku, tento odstavec poskytuje příležitost propojit předchozí myšlenky s novými poznatky. Použijte tento prostor k představení alternativních pohledů nebo k odpovědi na potenciální otázky, které mohou čtenáři mít. Najděte rovnováhu mezi hloubkou a čtivostí, aby informace zůstaly srozumitelné. Tato sekce může také sloužit jako přechod k závěrečným bodům, přičemž si udržuje tempo, zatímco vedete diskusi do jejích závěrečných fází.

Závěr s klíčovými poznatky

V tomto závěrečném odstavci shrňte klíčové závěry z vašeho článku a zdůrazněte nejdůležitější myšlenky, které byly diskutovány. Povzbuďte čtenáře, aby se zamysleli nad sdílenými poznatky, nebo nabídněte praktické rady, které mohou aplikovat ve svém vlastním životě. Toto je vaše šance zanechat trvalý dojem, proto se ujistěte, že vaše závěrečné myšlenky jsou silné a zapamatovatelné. Silný závěr nejen spojuje článek dohromady, ale také inspiruje čtenáře k dalšímu zapojení.


Leave a Reply

Your email address will not be published. Required fields are marked *