Я недавно обновился до WordPress 3.0, и у меня много проблем с функцией автозаполнения при редактировании сообщений через «быстрое редактирование» (например, /wp-admin/edit.php) — например, при редактировании тегов. Поле автозаполнения часто закрывает текстовое поле, в которое я пытаюсь ввести текст, и иногда «остается позади» после нажатия кнопки «обновить».
Есть ли способ отключить автозаполнение?
ОБНОВИТЬ
Чтобы уточнить, это функция автозаполнения WordPress, а не браузерная.
ОБНОВЛЕНИЕ 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');
но я теряю след кода в этот момент — кто-нибудь?
Автозаполнение — это функция самого браузера, поэтому знание того, какой браузер (и какую версию) вы используете, поможет…
Вы уверены, что это автозаполнение WordPress? Вы получаете другой результат с другим браузером?
Если подумать, в каком браузере вы видите такое поведение?
Происходит как в Firefox, так и в IE
Это выглядит очень близко к отличному ответу, НО… у меня это не работает. Значения реферера и URL-адреса администратора являются проблемой — первый сообщается с параметрами запроса (edit.php?post_type=post&), а последний — просто «edit.php». Я исправил это вызовом strpos() и проверкой ‘=== 0’, но если вы можете придумать лучший способ, включите его. С этим на месте он работает — почти — идеально.
У кого-то еще есть возможность улучшить этот ответ, хотя пока он лучший. В идеале был бы хороший чистый способ отключить запрос ajax в первую очередь.
Это функция автозаполнения wordpress. Вы знаете, проверяет ли он это свойство в первую очередь?
Я пробовал это, но, похоже, это не работает. Плагин довольно старый и упоминает только wordpress 2.5, поэтому я предполагаю, что он должен быть обновлен. Исходник очень простой, поэтому я мог бы «перенести» его на WordPress 3 — посмотрю.
Я бы, конечно, предпочел это сделать. Однако было бы неплохо сделать это как можно более чистым способом — в настоящее время я чувствую, что решение sorich87 менее навязчиво, чем переименование файлов и т. д. Метод, используемый для загрузки библиотеки предложений, ДЕЙСТВИТЕЛЬНО подразумевает, что должен быть хороший гибкий способ отключив его…
У меня есть решение, которое я тестировал, и оно работает.
Автозаполнение тегов в настоящее время выполняется через ajax-запрос к файлу admin-ajax.php. Решение, которое я бы предложил, — заблокировать обработку запроса, чтобы он не возвращал никакого результата. Я бы сделал :
Предыдущая функция проверяет:
Если эти 3 условия соблюдены, результат не будет возвращен и предложения тегов не будут отображаться.
Если вы хотите удалить это автозаполнение со всех страниц, а не только с «wp-admin/edit.php», вы можете сделать:
Я бы посоветовал вам посмотреть код «admin-ajax.php», чтобы увидеть там все параметры «действия», поэтому все запросы ajax вы можете убить с помощью аналогичных методов.
Надеюсь, мое объяснение было ясным. Не стесняйтесь спрашивать меня, хотите ли вы получить более подробную информацию или у вас есть какие-либо вопросы.
Награда за меня? 🙂
Вы можете либо отключить его в своем браузере, либо обойти источник WP и добавить этот
autocomplete
атрибут в соответствующее поле:В качестве альтернативы вы можете использовать Greasemonkey, чтобы изменить страницу, чтобы отключить автозаполнение, как указано выше.
Вы можете использовать этот плагин:
Тег незавершенный
http://wordpress.org/extend/plugins/tag-uncomplete/
Он предназначен для людей, у которых очень большое количество терминов-тегов, но он делает именно то, что вы хотите.
Вы можете отключить ответ от сервера, как объяснил sorich87, или вы можете попробовать (более сложный) способ отключения javascript, который запускает запрос AJAX. Если вы просто удалите библиотеку
suggest
, различные места, вызывающие эту функцию, вероятно, перестанут работать, поэтому вам следует заменить ее функцией-заглушкой, которая ничего не делает .suggest
Вы можете передать
attr
элемент html.Автозаполнение — это функция браузера, но это параметр поля ввода.
Если веб-сайт должен соответствовать стандартам соответствия PCI, он будет FAIL PCI, если в полях ввода включено автозаполнение — независимо от чьего-либо браузера.