Intereting Posts
PHP-декодирование и кодирование json с символами Unicode Как добавить фильтр или крючок для «woocommerce_add_to_cart» Проверка наличия всех элементов массива пустым PHP Вставка PHP с значениями массива, tablename Загрузите дополнительное содержимое с помощью Ajax / jQuery, вернув <div> Как получить loginRedirect из нескольких мест входа в CakePHP? Что может привести к тому, что экран администратора WordPress будет пустым, за исключением панели навигации? PHP проверяет, является ли переменная целым числом Почему мой сценарий резервного копирования базы данных не работает в php? Общие вопросы по полному опросу / HTTP-потоку Как отправить сообщение в php с параграфами Излучающий входной фасад в Laravel 4 PHP – конкатенировать или напрямую вставлять переменные в строку password_verify не будет работать после сохранения в базе данных PHP. Можно ли использовать array_column с массивом объектов

WordPress Admin – требуется обычная мета-проверка

Я добавляю пользовательскую мета-мета в wordpress admin, и мне бы хотелось, чтобы мои два пользовательских поля были необходимы, но как я показываю ошибку и говорю wordpress, чтобы не обновлять профиль, если ошибка?

add_action('personal_options_update', 'sweety_admin_update_extra_profile_fields'); add_action('edit_user_profile_update', 'sweety_admin_update_extra_profile_fields'); function sweety_admin_update_extra_profile_fields($user) { $error = false; if (is_super_admin()) { if (!$_POST['country'] || !$_POST['timezone']) { $error = true; } update_user_meta($user, 'country_id', $_POST['country']); update_user_meta($user, 'timezone_string', $_POST['timezone']); } } 

Я думаю, вы можете попробовать это

 add_action( 'user_profile_update_errors', 'validate_extra' ); function validate_extra(&$errors, $update = null, &$user = null) { if (is_super_admin()) { if (!$_POST['country'] || !$_POST['timezone']) { $errors->add('empty_country', "<strong>ERROR</strong>: Please select a country in the list"); } } } add_action( 'personal_options_update', 'save_extra_profile_fields' ); add_action( 'edit_user_profile_update', 'save_extra_profile_fields' ); function save_extra_profile_fields($user) { if (is_super_admin()) { update_user_meta($user, 'country', $_POST['country']); update_user_meta($user, 'timezone_string', $_POST['timezone']); } }