it-swarm.asia

Otomatik tamamlamayı devre dışı bırakabilir miyim?

Kısa bir süre önce WordPress 3.0'a yükselttim ve 'hızlı düzenleme' (örneğin /wp-admin/edit.php) aracılığıyla mesajları düzenlerken otomatik tamamlama işleviyle ilgili birçok sorun yaşıyorum - örneğin, etiketleri düzenleme. Otomatik tamamlama kutusu genellikle metin girmeye çalıştığım metin kutusunu gizler ve 'güncelleme' düğmesine tıklandığında bazen 'geride kalır'.

Otomatik tamamlamayı devre dışı bırakmanın bir yolu var mı?

GÜNCELLEME

Açıklığa kavuşturmak için, bu bir Wordpress otomatik tamamlama özelliği, a tarayıcı tabanlı değil.

GÜNCELLEME 2

Her yönetici sayfasının alt kısmında referans verilen "load-scripts.php" dizinindeki "öner" argümanını kaldırmam gerekiyor gibi görünüyor:

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

Bu tarafından oluşturulmuş görünüyor:

do_action('admin_print_footer_scripts');

ama bu noktada kod izini kaybettim - kimse?

3
Bobby Jack

Test ettiğim bir çözüm var ve işe yarıyor.

Etiketler için otomatik tamamlama şu anda admin-ajax.php dosyasına bir ajax isteği ile yapılır. Önereceğim çözüm, isteğin işlenmesini engellemektir, böylece herhangi bir sonuç vermez. Yapardım :

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

Önceki işlev doğrulama:

  1. eğer bir ajax isteği ise
  2. eylem paramater 'ajax-tag-search' ise
  3. yönlendirme URL'si '/wp-admin/edit.php' sayfasıysa

Bu 3 koşul karşılanırsa, sonuç döndürülmez ve etiket önerileri görüntülenmez.

Bu otomatik tamamlamayı yalnızca 'wp-admin/edit.php' yerine tüm sayfalardan kaldırmak istiyorsanız, şunları yapabilirsiniz:

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

Buradaki tüm 'işlem' parametrelerini görmek için 'admin-ajax.php' koduna bakmanızı, böylece benzer yöntemlerle öldürebileceğiniz tüm ajax isteklerini görmenizi öneririm.

Umarım açıklamam açıktı. Daha fazla ayrıntı veya herhangi bir sorunuz varsa, bana sormakta tereddüt etmeyin.

Benim için ödül mü? :)

5
sorich87

Tarayıcınızda devre dışı bırakabilir veya WP kaynağının çevresini yönlendirebilir ve bu autocomplete niteliğini rahatsız edici kutuya tokatlayabilirsiniz:

<input autocomplete="off" />

Alternatif olarak, yukarıda belirtilen şekilde otomatik tamamlamayı devre dışı bırakmak üzere sayfayı değiştirmek için greasemonkey'i kullanabilirsiniz.

1
Ben Everard

Bu eklentiyi kullanabilirsiniz:

Tamamlanmadı etiketi

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

Çok sayıda etiket terimine sahip kişiler için tasarlanmıştır, ancak tam olarak istediğinizi yapar

0
Tom J Nowell

Sunucudan bir yanıtı devre dışı bırakabilirsiniz, sorich87'nin açıkladığı gibi , ya da AJAX isteğini başlatan javascript'i devre dışı bırakmanın (daha karmaşık) yöntemini deneyebilirsiniz. Yalnızca suggest kütüphanesi öğesini kaldırırsanız, suggest işlevini çağıran çeşitliyerler , büyük olasılıkla başarısız olur, bu nedenle bunu hiçbir şey yapmayan saplama işleviyle değiştirmelisiniz. .

0
Jan Fabry

Html öğesinde attr öğesini iletebilirsiniz.

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

Otomatik Tamamlama,bir tarayıcı işlevidir, ancak bir Giriş alanı parametresidir.

Bir web sitesinin PCI uyumluluk standartlarını karşılaması gerekiyorsa, giriş alanlarında otomatik tamamlama özelliği açıksa, herhangi birinin tarayıcısından bağımsız olarak PCI BAŞARILIR.

0