it-swarm-eu.dev

Mohu zakázat automatické dokončení?

Nedávno jsem upgrade na WordPress 3.0, a mám spoustu problémů s funkcí autocomplete při úpravách příspěvků přes 'rychlé úpravy' (např. /Wp-admin/edit.php) - například úpravy značky. Pole automatického doplňování často zakrývá textové pole, do kterého se pokouším zadávat text, a někdy je po klepnutí na tlačítko „aktualizace“ ponecháno „pozadu“.

Existuje způsob, jak zakázat automatické doplňování?

AKTUALIZACE

Pro vyjasnění je to funkce Wordpress autocomplete, nikoli založené na prohlížeči one.

UPDATE 2

Vypadá to, že musím odstranit argument „navrhnout“ na „load-scripts.php“, na který se odkazuje v dolní části každé stránky administrátora:

<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>

Zdá se, že je generován:

do_action('admin_print_footer_scripts');

ale v tom okamžiku ztratím kódovou stopu - někdo?

3
Bobby Jack

Mám testované řešení a funguje to.

Autocomplete pro tagy se aktuálně provádí prostřednictvím požadavku ajax do souboru admin-ajax.php. Řešení, které bych navrhl, je blokovat zpracování žádosti tak, aby nevrátil žádný výsledek. Udělal bych :

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

Předchozí funkce ověřuje:

  1. pokud je to iax požadavek
  2. pokud je parametr akce „ajax-tag-search“
  3. pokud je adresa URL odkazovače stránka '/wp-admin/edit.php'

Jsou-li splněny tyto 3 podmínky, nevrátí se žádný výsledek a nezobrazí se návrhy tagů.

Chcete-li toto automatické doplnění odebrat ze všech stránek, ne pouze „wp-admin/edit.php“, můžete provést:

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

Navrhuji, abyste se podívali na kód 'admin-ajax.php', abyste viděli všechny parametry 'action', takže všechny požadavky ajax můžete zabít podobnými metodami.

Doufám, že mé vysvětlení bylo jasné. Neváhejte a zeptejte se mě, jestli chcete více informací nebo máte nějaké otázky.

Bounty pro mě? :)

5
sorich87

Můžete ji buď zakázat ve svém prohlížeči nebo na trase kolem zdroje WP a tento atribut autocomplete v tomto poli slapovat:

<input autocomplete="off" />

Případně můžete použít greasemonkey k úpravě stránky, aby se autocomplete zakázalo způsobem uvedeným výše.

1
Ben Everard

Tento plugin můžete použít:

Neúplná značka

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

Je určen pro lidi, kteří mají velmi velký počet značek, ale dělá přesně to, co chcete

0
Tom J Nowell

Odezvu ze serveru můžete zakázat, jak vysvětlil sorich87 , nebo můžete vyzkoušet (komplikovanější) způsob zakázání JavaScriptu, který spustí požadavek AJAX. Pokud právě odstraníte knihovnu suggest , funkce různéplaces , která zavolá funkci suggest, pravděpodobně selžou, takže byste ji měli nahradit funkcí pahýlu, která nedělá nic.

0
Jan Fabry

V elementu html můžete předat attr.

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

Funkce automatického doplňováníJEa funkce prohlížeče, ale je to parametr vstupního pole.

Pokud webová stránka musí splňovat standardy PCI, bude FAIL PCI, pokud je ve vstupních polích zapnuto automatické doplňování - bez ohledu na prohlížeč každého uživatele.

0
Christopher Eller