Я недавно обновился до WordPress 3.0, и у меня много проблем с функцией автозаполнения при редактировании сообщений с помощью "быстрого редактирования" (например, /wp-admin/edit.php) - например, при редактировании тегов. Поле автозаполнения часто скрывает текстовое поле, в которое я пытаюсь ввести текст, и иногда становится "оставленным позади" после нажатия кнопки "обновить".
Есть ли способ отключить автозаполнение?
ОБНОВЛЕНИЕ
Для пояснения, это Wordpress функция автозаполнения, а не на основе браузера one.
ОБНОВЛЕНИЕ 2
Похоже, мне нужно удалить аргумент "предложить" в "load-scripts.php", на который ссылаются внизу каждой страницы администратора, примерно так:
<script type='text/javascript'
src='http://www.example.com/path/to/wordpress/wp-admin/load-scripts.php?c=1&load=hoverIntent,common,jquery-color,suggest,inline-edit-post'>
</script>
Это, кажется, генерируется:
do_action('admin_print_footer_scripts');
но я теряю след кода в этот момент - кто-нибудь?
У меня есть решение, которое я протестировал, и оно работает.
Автозаполнение для тегов в настоящее время выполняется через ajax-запрос к файлу admin-ajax.php. Решение, которое я бы предложил, состоит в том, чтобы заблокировать обработку запроса, чтобы он не возвращал никакого результата. Я бы сделал :
function no_tag_suggest() {
if( DOING_AJAX == true && $_GET['action'] == 'ajax-tag-search' && $_SERVER['HTTP_REFERER'] == admin_url( 'edit.php' ) ) {
die;
}
}
add_action('admin_init', 'no_tag_suggest');
Предыдущая функция проверки:
Если эти 3 условия соблюдены, результат не будет возвращен, а предложения тегов не отображаются.
Если вы хотите удалить это автозаполнение со всех страниц, а не только с "wp-admin/edit.php", вы можете сделать:
function no_tag_suggest() {
if( DOING_AJAX == true && $_GET['action'] == 'ajax-tag-search' ) ) {
die;
}
}
add_action('admin_init', 'no_tag_suggest');
Я бы посоветовал вам взглянуть на код 'admin-ajax.php', чтобы увидеть там все параметры 'action', таким образом все запросы ajax вы можете убить с помощью аналогичных методов.
Я надеюсь, что мое объяснение было ясно. Не стесняйтесь спрашивать меня, если вы хотите получить более подробную информацию или есть какие-либо вопросы.
Баунти для меня? :)
Вы можете либо отключить его в своем браузере, либо обойти вокруг источника WP и добавить этот атрибут autocomplete
в поле обидчика:
<input autocomplete="off" />
В качестве альтернативы вы можете использовать greasemonkey, чтобы изменить страницу, чтобы отключить автозаполнение, как указано выше.
Вы можете использовать этот плагин:
Пометить как неполное
http://wordpress.org/extend/plugins/tag-uncomplete/
Он предназначен для людей, которые имеют очень большое количество терминов тегов, но он делает именно то, что вы хотите
Вы можете отключить ответ от сервера, как объяснил sorich87 , или вы можете попробовать (более сложный) способ отключить JavaScript, который запускает запрос AJAX. Если вы просто удалите библиотеку suggest
, различныеplace , которые вызывают функцию suggest
, вероятно, потерпит неудачу, поэтому вы должны заменить ее функцией-заглушкой, которая ничего не делает.
Вы можете передать attr
в элемент html.
$('#register_username').attr('autocomplete','off');
АвтозаполнениеЭТОфункция браузера, но это параметр поля ввода.
Если веб-сайт должен соответствовать стандартам соответствия PCI, он будет ОТКАЗАТЬ PCI, если автозаполнение включено в полях ввода - независимо от чьего-либо браузера.