芝麻web文件管理V1.00
编辑当前文件:/home/r5772835/public_html/blog.ycreate.jp/wp-content/themes/swell/classes/Menu/Setting_Field.php
'', 'key' => '', 'section_cb' => '', // h2下の出力 'page_name' => '', 'page_cb' => '', // 設定エリアの出力 ], $args ) ); $section_name = 'swell_' . $key . '_section'; add_settings_section( $section_name, $title, $section_cb, $page_name ); add_settings_field( $section_name . '_fields', '', $page_cb, $page_name, $section_name, [ 'class' => $section_name, ] ); } /** * h3 */ public static function h3( $text ) { echo '
' . wp_kses( $text, \SWELL_Theme::$allowed_text_html ) . '
'; } /** * h4 */ public static function h4( $text ) { echo '
' . wp_kses( $text, \SWELL_Theme::$allowed_text_html ) . '
'; } /** * .swl-setting__field__title */ public static function field_title( $text, $tag = 'div' ) { if ( ! $text ) return; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '<' . $tag . ' class="swl-setting__field__title">' . wp_kses( $text, \SWELL_Theme::$allowed_text_html ) . '' . $tag . '>'; } /** * p.description */ public static function description( $text ) { if ( ! $text ) return; echo '
' . wp_kses( $text, \SWELL_Theme::$allowed_text_html ) . '
'; } /** * input : for "text" | "number" | "email" | ...] */ public static function input( $db_name, $key, $args = [] ) { $args = array_merge( [ 'label' => '', 'type' => 'text', 'class' => '', 'step' => '1', 'after' => '', 'desc' => '', 'size' => '40', 'placeholder' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $field_class = trim( '-input ' . $args['class'] ); $props = [ 'type' => $args['type'], 'id' => $name, 'name' => $name, 'value' => $value, 'size' => $args['size'], 'placeholder' => $args['placeholder'], ]; if ( 'number' === $args['type'] ) { $props['step'] = $args['step']; } echo '
'; self::field_title( $args['label'], 'label' ); // phpcs:ignore WordPress.Security.EscapeOutput echo '
'; if ( $args['after'] ) echo wp_kses( $args['after'], \SWELL_Theme::$allowed_text_html ); self::description( $args['desc'] ); echo '
'; } /** * checkbox */ public static function checkbox( $db_name, $key, $args = [] ) { $args = array_merge( [ 'label' => '', 'class' => '', 'desc' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $field_class = trim( '-checkbox ' . $args['class'] ); $check_props = [ 'id' => $name, 'name' => $name, 'checked' => '1' === (string) $value, ]; echo '
'; echo '
'; echo '
'; echo '
'; // phpcs:ignore WordPress.Security echo '
' . wp_kses( $args['label'], \SWELL_Theme::$allowed_text_html ) . '
'; echo '
'; self::description( $args['desc'] ); echo '
'; } /** * radio */ public static function radio( $db_name, $key, $args = [] ) { $args = array_merge( [ 'label' => '', 'choices' => [], 'class' => '', 'desc' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $field_class = trim( '-radio ' . $args['class'] ); echo '
'; self::field_title( $args['label'], 'label' ); foreach ( $args['choices'] as $radio_val => $radio_label ) { $radio_id = $key . '_' . $radio_val; $radio_props = [ 'id' => $radio_id, 'name' => $name, 'value' => $radio_val, 'checked' => $value === $radio_val, ]; echo '
' . '
' . '
' . // phpcs:ignore WordPress.Security '
' . wp_kses( $radio_label, \SWELL_Theme::$allowed_text_html ) . '
' . '
' . '
'; } self::description( $args['desc'] ); echo '
'; } /** * select */ public static function select( $db_name, $key, $args = [] ) { $args = array_merge( [ 'label' => '', 'choices' => [], 'class' => '', 'desc' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $field_class = trim( '-select ' . $args['class'] ); echo '
'; self::field_title( $args['label'], 'label' ); echo '
'; foreach ( $args['choices'] as $option_val => $option_label ) { echo '
' . wp_kses_post( $option_label ) . '
'; } echo '
'; // echo wp_kses_post( $after ); self::description( $args['desc'] ); echo '
'; } /** * textarea */ public static function textarea( $db_name, $key, $args = [] ) { $args = array_merge( [ 'label' => '', 'class' => '', 'placeholder' => '', 'rows' => 8, 'before' => '', 'after' => '', 'size_class' => 'regular-text', 'desc' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $textarea_props = [ 'id' => $name, 'name' => $name, 'class' => $args['size_class'], 'rows' => $args['rows'], 'placeholder' => $args['placeholder'], ]; $field_class = trim( '-textarea ' . $args['class'] ); echo '
'; self::field_title( $args['label'], 'label' ); // phpcs:ignore WordPress.Security echo '
' . esc_textarea( $value ) . '</textarea>'; self::description( $args['desc'] ); echo '
'; } /** * 画像アップロード */ public static function media( $db_name, $key, $args = [] ) { $args = array_merge( [ 'label' => '', 'class' => '', 'type' => 'id', 'desc' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $type = $args['type']; $field_class = trim( '-media ' . $args['class'] ); if ( 'id' === $type ) { $src = wp_get_attachment_url( $value ) ?: $value; } else { $src = $value; } ?>
'', 'class' => '', 'desc' => '', ], $args ); $name = \SWELL_Theme::DB_NAMES[ $db_name ] . '[' . $key . ']'; $value = \SWELL_Theme::get_data( $db_name, $key ); $field_class = trim( '-toggle ' . $args['class'] ); $check_props = [ 'value' => '1', 'id' => $name, 'name' => $name, 'checked' => '1' === (string) $value, ]; ?>
>
=wp_kses( $args['label'], \SWELL_Theme::$allowed_text_html )?>
'; // if ( $label ) { // echo '
' . wp_kses_post( $label ) . '
'; // } // echo '
'; // echo '
'; } }