it-swarm.asia

هل يمكنني تعطيل الإكمال التلقائي؟

لقد قمت بالترقية مؤخرًا إلى WordPress 3.0 ، وأواجه مشكلات كثيرة في وظيفة الإكمال التلقائي عند تحرير النشرات عبر "التحرير السريع" (مثل /wp-admin/edit.php) - على سبيل المثال ، تحرير العلامات. غالبًا ما يحجب مربع الإكمال التلقائي مربع النص الذي أحاول إدخال نص فيه ، وأحيانًا يتم "تركه" بعد النقر على زر "التحديث".

هل هناك طريقة لتعطيل الإكمال التلقائي؟

تحديث

للتوضيح ، هذه ميزة الإكمال التلقائي Wordpress ، وليست ميزة قائمة على المستعرض .

UPDATE 2

يبدو الأمر كما لو كنت بحاجة إلى إزالة الوسيطة "Suggest" إلى "load-scripts.php" ، المشار إليها في أسفل كل صفحة من المشرفين مثل:

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

يبدو أن هذا ناتج عن:

do_action('admin_print_footer_scripts');

لكنني فقدت درب رمز في تلك المرحلة - أي شخص؟

3
Bobby Jack

لدي حل اختبرته ، وهو يعمل.

تتم عملية الإكمال التلقائي للعلامات حاليًا عبر طلب ajax إلى ملف admin-ajax.php. الحل الذي أقترحه هو حظر معالجة الطلب حتى لا يُرجع أي نتيجة. أود أن تفعل :

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

الوظيفة السابقة تحقق:

  1. إذا كان طلب اياكس
  2. إذا كان paramater الإجراء هو "ajax-tag-search"
  3. إذا كان عنوان URL المرجعي هو صفحة "/wp-admin/edit.php"

إذا تم استيفاء هذه الشروط الثلاثة ، فلن يتم إرجاع أي نتيجة ولن يتم عرض اقتراحات العلامات.

إذا كنت ترغب في إزالة هذا الإكمال التلقائي من جميع الصفحات ، وليس "wp-admin/edit.php" فقط ، يمكنك القيام بما يلي:

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

أقترح عليك إلقاء نظرة على رمز "admin-ajax.php" لرؤية جميع معلمات "الإجراء" هناك ، وبالتالي كل طلبات ajax التي يمكنك قتلها بطرق مشابهة.

آمل أن يكون شرحي واضحًا. لا تتردد في أن تسألني إذا كنت تريد المزيد من التفاصيل أو لديك أي سؤال.

فضله لي؟ :)

5
sorich87

يمكنك إما تعطيله في المستعرض الخاص بك أو التوجيه حول مصدر WP وصفعة هذه السمة autocomplete في المربع المخالف:

<input autocomplete="off" />

بدلاً من ذلك ، يمكنك استخدام greasemonkey لتعديل الصفحة لتعطيل الإكمال التلقائي بالطريقة المذكورة أعلاه.

1
Ben Everard

يمكنك استخدام هذا البرنامج المساعد:

العلامة غير مكتملة

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

إنه مخصص للأشخاص الذين لديهم عدد كبير جدًا من مصطلحات العلامات ، ولكنه يفعل بالضبط ما تريده

0
Tom J Nowell

يمكنك تعطيل استجابة من الخادم ، كما أوضح sorich87 ، أو يمكنك تجربة الطريقة (الأكثر تعقيدًا) لتعطيل javascript التي تبدأ AJAX طلب. إذا قمت فقط بإزالة مكتبة suggest ، فإن مختلفمن المحتمل أن تفشل الأماكن التي تستدعي الدالة suggest ، لذلك يجب استبدالها بوظيفة كعب روتين لا تفعل شيئًا.

0
Jan Fabry

يمكنك تمرير attr في عنصر html.

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

الإكمال التلقائي هو وظيفة مستعرض لكنها معلمة حقل الإدخال.

إذا كان يجب أن يفي موقع الويب بمعايير توافق PCI ، فسوف يفشل PCI إذا كان الإكمال التلقائي قيد التشغيل في حقول الإدخال - بغض النظر عن متصفح أي شخص.

0
Christopher Eller