Я создаю плагин и сохраняю с его помощью некоторые настройки.
Теперь я использую add_settings_error для регистрации и отображения любых ошибок (как и должно быть согласно документации). Но когда я нажимаю, чтобы сохранить настройки, он отображает какие-либо сообщения (я знаю, что при проверке некоторые поля пусты).
Когда я добавляю settings_errors() вверху, я получаю сообщения об ошибках , но они дублируются.
Я читал, что эта часть вам не понадобится, поскольку add_settings_error должно быть достаточно, но это не так.
$arrayFields = searchbox_settings_fields_array();
foreach ( $arrayFields as $field ) {
register_setting( 'searchbox_tab_' . $field[ 7 ], 'sb_'. $field[ 0 ], 'validate_options' );
}
function validate_options( $input ) {
$message = array( );
$error = false;
$arrayFields = searchbox_settings_fields_array(); // array of all the fields
foreach ( $arrayFields as $field ) {
if ( $field[ 1 ] == 'text' ) {
if ( !empty( $input ) ) {
if ( !preg_match( '/^[a-zA-Z0-9-_,]+$/', $input ) ) {
$error = true;
$message[ ] = '"' . esc_html($field[ 2 ]) . '": ' . esc_html__( 'Use only alphanumeric strings and commas for multiple slugs', 'plugin' ) . '
';
}
}
}
}
if ($error) {
add_settings_error( 'setting_error', //setting
'searchbox_texterror', //code added to tag #id
implode( '', $message ),
'error'
);
}
return $input;
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-messages
При добавлении settings_errors отображаются повторяющиеся сообщения [закрыто] ⇐ Php
Кемеровские программисты php общаются здесь
1737472291
Anonymous
Я создаю плагин и сохраняю с его помощью некоторые настройки.
Теперь я использую add_settings_error для регистрации и отображения любых ошибок (как и должно быть согласно документации). Но когда я нажимаю, чтобы сохранить настройки, он отображает какие-либо сообщения (я знаю, что при проверке некоторые поля пусты).
Когда я добавляю settings_errors() вверху, я получаю сообщения об ошибках , но они дублируются.
Я читал, что эта часть вам не понадобится, поскольку add_settings_error должно быть достаточно, но это не так.
$arrayFields = searchbox_settings_fields_array();
foreach ( $arrayFields as $field ) {
register_setting( 'searchbox_tab_' . $field[ 7 ], 'sb_'. $field[ 0 ], 'validate_options' );
}
function validate_options( $input ) {
$message = array( );
$error = false;
$arrayFields = searchbox_settings_fields_array(); // array of all the fields
foreach ( $arrayFields as $field ) {
if ( $field[ 1 ] == 'text' ) {
if ( !empty( $input ) ) {
if ( !preg_match( '/^[a-zA-Z0-9-_,]+$/', $input ) ) {
$error = true;
$message[ ] = '"' . esc_html($field[ 2 ]) . '": ' . esc_html__( 'Use only alphanumeric strings and commas for multiple slugs', 'plugin' ) . '
';
}
}
}
}
if ($error) {
add_settings_error( 'setting_error', //setting
'searchbox_texterror', //code added to tag #id
implode( '', $message ),
'error'
);
}
return $input;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79374201/having-add-settings-errors-shows-duplicate-messages[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия