Функция GET_SUBMIT_BUTTON() │ WP 3.1.0
Функция get_submit_button()
возвращает кнопку "Отправить" с заданным текстом и соответствующим классом.
Используемая функция
Эта функция вызывается внутри другой функции — submit_button()
.
Производительность
- 1 вызов: 0.000051 сек (очень быстро)
- 50000 вызовов: 1.38 сек (быстро)
Хуки
У этой функции нет хуков.
Возвращаемое значение
Строка. HTML-код кнопки "Отправить".
Синтаксис
get_submit_button( $text, $type, $name, $wrap, $other_attributes );
Параметры:
-
$text
(строка): текст на кнопке.- По умолчанию: 'Сохранить изменения'
-
$type
(строка): тип и CSS классы кнопки.- Основные значения: 'primary' (основная), 'small' (маленькая), 'large' (большая).
- По умолчанию: 'primary large'
-
$name
(строка): HTML имя кнопки "Отправить". Если атрибут id не указан в параметре$other_attributes
, то имя будет использовано в качестве id кнопки.- По умолчанию: 'submit'
-
$wrap
(логическое значение): true, если кнопку нужно заключить в тег<p>
, иначе false.- По умолчанию: true
-
$other_attributes
(массив|строка): Другие атрибуты для кнопки, которые будут добавлены к ней. Например, вы можете использоватьarray('id'=>'search-submit')
. Эти пары ключ/значение будут какатрибут="значение"
.- По умолчанию: пустая строка
Примеры
Пример 1: Добавление кнопки "Отправить" в HTML код
echo get_submit_button( 'Применить', 'action', '', false, [ 'id' => 'doaction2' ] );
Результат:
Изменения
- С версии 3.1.0 функция была добавлена.
Код функции
function get_submit_button( $text = '', $type = 'primary large', $name = 'submit', $wrap = true, $other_attributes = '' ) {
if ( ! is_array( $type ) ) {
$type = explode( ' ', $type ); // Преобразуем строку в массив.
}
$button_shorthand = array( 'primary', 'small', 'large' );
$classes = array( 'button' ); // Начальный класс для кнопки.
foreach ( $type as $t ) {
if ( 'secondary' === $t || 'button-secondary' === $t ) {
continue; // Пропускаем не нужные классы.
}
// Добавляем классы кнопки.
$classes[] = in_array( $t, $button_shorthand, true ) ? 'button-' . $t : $t;
}
// Убираем пустые элементы и дубликаты, затем создаем строку классов.
$class = implode( ' ', array_unique( array_filter( $classes ) ) );
$text = $text ? $text : __( 'Сохранить изменения' ); // Если текст не задан, устанавливаем по умолчанию.
// Устанавливаем id по умолчанию равным имени, если его не задали в $other_attributes.
$id = $name;
if ( is_array( $other_attributes ) && isset( $other_attributes['id'] ) ) {
$id = $other_attributes['id'];
unset( $other_attributes['id'] ); // Убираем id из других атрибутов.
}
$attributes = '';
// Формируем атрибуты кнопки.
if ( is_array( $other_attributes ) ) {
foreach ( $other_attributes as $attribute => $value ) {
$attributes .= $attribute . '="' . esc_attr( $value ) . '" '; // Важно оставить пробел в конце.
}
} elseif ( ! empty( $other_attributes ) ) { // Если атрибуты переданы как строка.
$attributes = $other_attributes;
}
// Не выводим пустые атрибуты name и id.
$name_attr = $name ? ' name="' . esc_attr( $name ) . '"' : '';
$id_attr = $id ? ' id="' . esc_attr( $id ) . '"' : '';
// Создаем HTML-код кнопки.
$button = '';
if ( $wrap ) {
$button = '' . $button . '
'; // Оборачиваем кнопку в , если нужно.
}
return $button; // Возвращаем HTML-код кнопки.
}
Связанные функции
submit_button()
wp_admin_notice()
wp_get_admin_notice()
WP_List_Table()