admin管理员组

文章数量:1122826

I've recently upgraded to WordPress 3.0, and am having a lot of problems with the autocomplete function when editing posts via 'quick edit' (e.g. /wp-admin/edit.php) - for example, editing tags. The autocomplete box often obscures the textbox I'm trying to enter text into, and sometimes gets 'left behind' once the 'update' button has been clicked.

Is there a way to disable the autocomplete?

UPDATE

To clarify, this is a Wordpress autocomplete feature, not a browser-based one.

UPDATE 2

It looks as if I need to remove the 'suggest' argument to "load-scripts.php", referenced at the bottom of each admin page like so:

<script type='text/javascript'
  src='.php?c=1&amp;load=hoverIntent,common,jquery-color,suggest,inline-edit-post'>
</script>

That seems to be generated by:

do_action('admin_print_footer_scripts');

but I lose the code trail at that point - anyone?

I've recently upgraded to WordPress 3.0, and am having a lot of problems with the autocomplete function when editing posts via 'quick edit' (e.g. /wp-admin/edit.php) - for example, editing tags. The autocomplete box often obscures the textbox I'm trying to enter text into, and sometimes gets 'left behind' once the 'update' button has been clicked.

Is there a way to disable the autocomplete?

UPDATE

To clarify, this is a Wordpress autocomplete feature, not a browser-based one.

UPDATE 2

It looks as if I need to remove the 'suggest' argument to "load-scripts.php", referenced at the bottom of each admin page like so:

<script type='text/javascript'
  src='http://www.example.com/path/to/wordpress/wp-admin/load-scripts.php?c=1&amp;load=hoverIntent,common,jquery-color,suggest,inline-edit-post'>
</script>

That seems to be generated by:

do_action('admin_print_footer_scripts');

but I lose the code trail at that point - anyone?

Share Improve this question edited Feb 9, 2015 at 15:52 Brad Dalton 6,9672 gold badges36 silver badges47 bronze badges asked Aug 11, 2010 at 22:45 Bobby JackBobby Jack 1,2525 gold badges15 silver badges23 bronze badges 5
  • Autocomplete is a feature of the browser itself, so knowing which browser (and which version) you're using would help ... – EAMann Commented Aug 12, 2010 at 0:05
  • Are you sure it's WordPress autocomplete? Do you get a different result with a different browser? – artlung Commented Aug 12, 2010 at 0:38
  • Come to think of it, what browser are you seeing this behavior in? – artlung Commented Aug 12, 2010 at 0:39
  • Happens in both Firefox and IE – Bobby Jack Commented Aug 13, 2010 at 11:09
  • I've just tried @sorich87 's second code suggestion (placed into functions.php), but it does not work for me. The Tag Uncomplete extension has been removed by the author. Any suggestions? ![Auto-suggestions coverare not helpful!](i.sstatic.net/e0z2DgvI.gif) – Dax Liniere Commented Apr 28, 2024 at 21:58
Add a comment  | 

6 Answers 6

Reset to default 6 +25

I have a solution I tested, and it works.

The autocomplete for the tags is currently done via an ajax request to the file admin-ajax.php. The solution I would suggest is to block the processing of the request so that it does not return any result. I would do :

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');

The previous function verify:

  1. if it is an ajax request
  2. if the action paramater is 'ajax-tag-search'
  3. if the referer url is the '/wp-admin/edit.php' page

If these 3 conditions are meet, no result will be returned and the tag suggestions not displayed.

If you want to remove this autocomplete from all the pages, not the 'wp-admin/edit.php' only, you can do:

function no_tag_suggest() {
    if( DOING_AJAX == true && $_GET['action'] == 'ajax-tag-search' ) ) {
        die;
    }
}    
add_action('admin_init', 'no_tag_suggest');

I would suggest you to look at the code of 'admin-ajax.php' to see all the 'action' parameters there, thus all the ajax requests you can kill with similar methods.

I hope my explanation was clear. Don't hesitate to ask me if you want more details or have any question.

Bounty for me? :)

You can either disable it in your browser or route around the WP source and slap this autocomplete attribute in the offending box:

<input autocomplete="off" />

Alternatively you could use greasemonkey to modify the page to disable autocomplete in the way mentioned above.

You can use this plugin:

Tag Uncomplete

http://wordpress.org/extend/plugins/tag-uncomplete/

Its intended for people who have a very large number of tag terms, but it does exactly what your wanting

You can disable a response from the server, as sorich87 has explained, or you could try the (more complicated) way of disabling the javascript that starts the AJAX request. If you just remove the suggest library, the various places that call the suggest function will probably fail, so you should replace it with a stub function that does nothing.

You can pass attr in html element.

$('#register_username').attr('autocomplete','off');

Autocomplete IS a browser function but it is an Input field parameter.

If a website must meet PCI compliance standards it will FAIL PCI if autocomplete is on in the input fields--regardless of anyone's browser.

本文标签: customizationCan I disable the auto complete