Gravatar Hovercards (Jetpack) jQuery Fehler

Ich habe versucht, hier nach dem Problem zu suchen, und bin auch durch die Schwierigkeit gegangen, ein Plugin nach dem anderen zu deaktivieren. Ich kann immer noch nicht herausfinden, was hier vor sich geht, also hat vielleicht jemand hier eine Idee?

Plötzlich bekomme ich einen Javascript Fehler: Bildbeschreibung hier eingeben

Es ist verursacht durch Jetpacks Hovercards. Ich nehme an, dass sie in einem aktuellen Jetpack-Update etwas in ihrem Javascript-Code geändert haben, der jetzt das Problem verursacht.

Der Fehler tritt nur bei single.php auf, also nehme ich an, dass es sich um einen Konflikt mit einem anderen Skript handelt. Zuerst dachte ich, es könnte Adsense sein, aber ich habe auch AdSense-Code in meiner Sidebar und da funktionieren die Hovercards gut (außer ich habe die single.php geöffnet).

Das einzige andere Skript dort sind Dinge, die ich seit langer Zeit nicht mehr aktualisiert habe. Schaltflächenskripte freigeben:

 

Und hier von meiner function.php:

 function add_my_javascripts() { /* If this is the admin area of WordPress, don't do anything */ if( is_admin() ) return; /* Register all of our scripts */ wp_register_script('jquerytools', 'http://zoomingjapan.com/wp-content/themes/alltuts/js/jquery.tools.min.js', array('jquery')); wp_register_script('tab-renamer', get_template_directory_uri() . '/js/tab-renamer.js', array('jquerytools')); wp_register_script('jquery-ui-perso', get_template_directory_uri() . '/js/jquery-ui-personalized-1.5.2.packed.js', array('jquery', 'tab-renamer')); wp_register_script('jquery.form', get_template_directory_uri() . '/js/jquery.form.js', array('jquery')); wp_register_script('jquery-slides', get_template_directory_uri() . '/js/slides.min.jquery.js', array('jquery')); wp_register_script('my-slider', get_template_directory_uri() . '/js/my-slider.js', array('jquery', 'jquery-slides')); wp_register_script('tooltip', get_template_directory_uri() . '/js/tooltip.js', array('jquerytools')); wp_register_script('scrollable', get_template_directory_uri() . '/js/scrollable.js', array('jquerytools')); wp_register_script('sliding_tabs', get_template_directory_uri() . '/js/sliding_tabs.js', array('jquerytools')); wp_register_script('sprinkle', get_template_directory_uri() . '/js/sprinkle.js', array('jquery', 'jquery-ui-perso')); wp_register_script('custom', get_template_directory_uri() . '/js/custom.js', array('jquery')); wp_register_script('contact-form', get_template_directory_uri() . '/js/contact-form.js', array('jquery', 'jquery.form')); wp_register_script('welcome_back', get_template_directory_uri() . '/js/welcome_back.js', array('jquery')); /* Enqueue the ones that need to be enqueued */ wp_enqueue_script('my-slider'); wp_enqueue_script('tooltip'); wp_enqueue_script('scrollable'); wp_enqueue_script('sliding_tabs'); wp_enqueue_script('tab-renamer'); wp_enqueue_script('sprinkle'); wp_enqueue_script('custom'); wp_enqueue_script('contact-form'); wp_enqueue_script('welcome_back'); } add_action('wp_enqueue_scripts', 'add_my_javascripts'); 

Ich habe endlich den Schuldigen gefunden! Es ist eines meiner Plugins! Ich brauche dieses Plugin, also werde ich es nicht casting. Könnten Sie mir helfen, dieses Problem zu beheben?

 //Подключаем jQuery function jcp_jquery() { if ( comments_open() && ( is_single() || is_page() ) ) { wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"), false, '1.6.3'); wp_enqueue_script('jquery'); } } add_action('wp_head', 'jcp_jquery', 8); 

Das Plugin lädt eine alte jquery-Version von einer externen Quelle. Ich habe noch nicht die jquery.min.js in meiner function.php, also wie kann ich den obigen Code ersetzen?

Haben Sie eine Idee, was das Problem verursachen könnte? Hier ist mein Blog als Referenz.

Solutions Collecting From Web of "Gravatar Hovercards (Jetpack) jQuery Fehler"

Sie laden jQuery 1.6.3. .on wurde in jQuery 1.7 aufgenommen (glaube ich). jQuery selbst ist bis zu 1.9. Sie müssen eine neuere Version dieser Bibliothek verwenden – im Grunde lassen Sie WordPress laden Sie seine eigene Version und Sie sollten in Ordnung sein. Es sieht so aus, als ob die meisten Ihrer Skripte von Ihrer Domain geladen werden, mit Ausnahme der, die Sie aus den Google-Bibliotheken laden. Sie gewinnen dadurch nicht viel, wenn Sie das tun, und mehr und mehr Skripte werden kaputt gehen, wenn Sie weiterhin diese alte jQuery verwenden. Wenn Sie die Bibliotheken von Google laden möchten, müssen Sie aufpassen und auf dem neuesten Stand bleiben, oder Sie verwenden eines der verschiedenen Plug-ins, die für Sie relevant sind.

Bearbeiten:

Ändern Sie diese callbackfunktion, um dem zu entsprechen:

 function jcp_jquery() { if ( comments_open() && ( is_single() || is_page() ) ) { // wp_deregister_script('jquery'); // wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"), false, '1.6.3'); wp_enqueue_script('jquery'); } } 

Wenn das Plugin noch funktioniert, sind Sie fertig. Wenn das Plugin nicht funktioniert, hängt es wahrscheinlich von der alten Version von jQuery ab und muss neu geschrieben werden, um mit der neueren jQuery kompatibel zu sein.