it-swarm.dev

Kann ich die automatische Vervollständigung deaktivieren?

Ich habe kürzlich ein Upgrade auf WordPress 3.0 durchgeführt und habe viele Probleme mit der Autovervollständigungsfunktion, wenn ich Posts über die Schnellbearbeitung bearbeite (z. B. /wp-admin/edit.php) - zum Beispiel das Bearbeiten von Tags. Das Feld für die automatische Vervollständigung verdeckt häufig das Textfeld, in das ich Text eingeben möchte, und wird manchmal "zurückgelassen", sobald auf die Schaltfläche "Aktualisieren" geklickt wurde.

Gibt es eine Möglichkeit, die automatische Vervollständigung zu deaktivieren?

UPDATE

Zur Verdeutlichung ist dies eine Wordpress Autocomplete-Funktion, keine browserbasierte one.

UPDATE 2

Es sieht so aus, als müsste ich das 'suggest'-Argument zu "load-scripts.php" entfernen, auf das am Ende jeder Admin-Seite wie folgt verwiesen wird:

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

Das scheint generiert zu sein durch:

do_action('admin_print_footer_scripts');

aber ich verliere an diesem Punkt die Codespur - jemand?

3
Bobby Jack

Ich habe eine Lösung, die ich getestet habe, und es funktioniert.

Die automatische Vervollständigung der Tags erfolgt derzeit über eine Ajax-Anfrage an die Datei admin-ajax.php. Die Lösung, die ich vorschlagen würde, besteht darin, die Verarbeitung der Anforderung zu blockieren, damit keine Ergebnisse zurückgegeben werden. Ich würde tun:

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

Die vorherige Funktion überprüfen:

  1. wenn es eine Ajax-Anfrage ist
  2. wenn der Aktionsparameter 'Ajax-Tag-Suche' ist
  3. wenn die Referrer-URL die Seite '/wp-admin/edit.php' ist

Wenn diese 3 Bedingungen erfüllt sind, wird kein Ergebnis zurückgegeben und die Tag-Vorschläge werden nicht angezeigt.

Wenn Sie diese automatische Vervollständigung von allen Seiten entfernen möchten, nicht nur von der Datei 'wp-admin/edit.php', können Sie Folgendes tun:

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

Ich würde vorschlagen, dass Sie sich den Code von 'admin-ajax.php' ansehen, um alle 'action'-Parameter dort zu sehen, also alle Ajax-Anforderungen, die Sie mit ähnlichen Methoden beenden können.

Ich hoffe meine Erklärung war klar. Zögern Sie nicht, mich zu fragen, wenn Sie weitere Details wünschen oder Fragen haben.

Kopfgeld für mich? :)

5
sorich87

Sie können es entweder in Ihrem Browser deaktivieren oder um die Quelle WP herumleiten und dieses Attribut autocomplete in das entsprechende Feld einfügen:

<input autocomplete="off" />

Alternativ können Sie greasemonkey verwenden, um die Seite so zu ändern, dass die automatische Vervollständigung auf die oben beschriebene Weise deaktiviert wird.

1
Ben Everard

Sie können dieses Plugin verwenden:

Tag unvollständig

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

Es ist für Leute gedacht, die eine sehr große Anzahl von Tag-Begriffen haben, aber genau das tun, was Sie wollen

0
Tom J Nowell

Sie können eine Antwort vom Server deaktivieren, wie sorich87 erklärt hat , oder Sie können die (kompliziertere) Möglichkeit ausprobieren, das Javascript zu deaktivieren, mit dem die AJAX -Anforderung gestartet wird. Wenn Sie nur die Bibliothek suggest entfernen, schlagen die verschiedenenStellen , die die Funktion suggest aufrufen, wahrscheinlich fehl, und Sie sollten sie durch eine Stub-Funktion ersetzen, die nichts bewirkt.

0
Jan Fabry

Sie können attr im HTML-Element übergeben.

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

AutocompleteISTeine Browserfunktion, aber ein Eingabefeldparameter.

Wenn eine Website PCI-Konformitätsstandards erfüllen muss, schlägt PCI fehl, wenn die automatische Vervollständigung in den Eingabefeldern aktiviert ist - unabhängig vom Browser eines anderen Benutzers.

0