Ärgerlich "JQMIGRATE: Migrate is ..." in der Konsole nach dem Update auf WordPress 4.5
-
-
+1 auf Ihre sehrnützliche OCD.Diesist wahrscheinlich auf das Skript zur Abfrage/Abwärtskompatibilität vonjquery zurückzuführen.Gibteseine Chance,dass Sieeine unminified/dev-Version davon verwenden?+1 to your very useful OCD. This probably come from the jquery migration/backward compatibility script. Any chance you use unminified/dev version of it?
- 0
- 2016-04-24
- Mark Kaplun
-
Nicht abgeschlossene Version vonmigrate?Meines Wissensnicht,es könnteneinige Plugins sein,aberbei der Inspektion seheichnichts davon: \Unminified version of migrate? Not to my knowledge no, it could be some plugins, but upon inspection I don't see any of it :\
- 0
- 2016-04-24
- dingo_d
-
Beachten Sie,dass sichbeide Versionenin WP-Verzeichnissenbefinden: `/wp-admin/js/jquery/jquery-migrate.js` und`/wp-admin/js/jquery/jquery-migrate.min.js`note both versions are in WP dirs: `/wp-admin/js/jquery/jquery-migrate.js` and `/wp-admin/js/jquery/jquery-migrate.min.js`
- 1
- 2016-04-25
- majick
-
6 Antworten
- Stimmen
-
- 2016-04-24
WordPress verwendet dasjQuery-Migrationsskript,um die Abwärtskompatibilitätfür alle Plugins oder Designs sicherzustellen,die Siemöglicherweise verwenden und die Funktionen verwenden,die ausneueren Versionen vonjQueryentfernt wurden.
Mit der Veröffentlichung von WordPress 4.5 haben sie anscheinend die Version vonjQuerymigrate von v1.2.1 bis v1.4.0 - Ein schneller Scan des Codes zeigt,dass v1.4.0protokolliert,dass das Skriptgeladen wird,unabhängig davon,ob die Option
migrateMute
sowohlim unkomprimierten als auchimminimierte Versionen. Dieeinzige Möglichkeit,den Hinweis zuentfernen,besteht darin,sicherzustellen,dass alle Plugins/Theme-Codesnicht auf altenjQuery-Funktionenbasieren,und dann das Migrationsskript zuentfernen. Esgibt ein Plugin Tun Sie dies,aberesisteine rechteinfache Methode,dieeinfachin die Funktionsdatei Ihres Themas oder ähnlicheseingefügt werden kann:
add_action('wp_default_scripts', function ($scripts) { if (!empty($scripts->registered['jquery'])) { $scripts->registered['jquery']->deps = array_diff($scripts->registered['jquery']->deps, ['jquery-migrate']); } });
Bittebeachten Sie,dass diesnicht als Best Practicefür die WordPress-Entwicklung angesehen wird. Meiner Meinungnach sollte das Migrationsskriptnichtnurentfernt werden,um die Entwicklerkonsole sauber zu halten.
WordPress uses the jQuery migrate script to ensure backwards compatibility for any plugins or themes you might be using which use functionality removed from newer versions of jQuery.
With the release of WordPress 4.5, it appears they have upgraded the version of jQuery migrate from v1.2.1 to v1.4.0 - Having a quick scan through the code reveals that v1.4.0 logs that the script is loaded regardless of whether or not the
migrateMute
option is set, in both the uncompressed and minified versions.The only way to remove the notice is to ensure all your plugins/theme code don't rely on any old jQuery functionality, and then remove the migrate script. There's a plugin out there to do this, but it's quite a simple method that can just be placed in your theme's functions file or similar:
add_action('wp_default_scripts', function ($scripts) { if (!empty($scripts->registered['jquery'])) { $scripts->registered['jquery']->deps = array_diff($scripts->registered['jquery']->deps, ['jquery-migrate']); } });
Please note that this is not considered best practice for WordPress development and in my opinion the migrate script should not be removed just for the sake of keeping the developer console clean.
-
Im Grunde hängteinesmeiner Plugins voneiner Funktionalität ab,die Teil der altenjQuery-Version war?Gibteseine Möglichkeit herauszufinden,was diese Funktionalitätist?Oder kannich das Migrationsskripteinfach stumm schalten?So basically one of my plugins is depending on a functionality that was a part of the old jQuery version? Is there a way to find out what that functionality is? Or am I safe to just mute the migrate script?
- 0
- 2016-04-24
- dingo_d
-
Ich kannnicht sicher sagen,obeines Ihrer Plugins von alten Funktionen abhängt. WordPressenthältnur das Migrationsskript als sicheren Standard,falls Ihre Installation Pluginsenthält,die seiteiniger Zeitnichtmehr aktualisiert wurden.Wenniches wäre,würdeich das Migrationsskriptbei einer lokalen Installation der Siteentfernen und dann überprüfen,ob alles wieerwartetfunktioniert,um sicherzustellen,dass keine Fehlerin der Konsole usw. vorhanden sind.I can't say for sure whether any of your plugins depend on old functionality, WordPress just includes the migrate script as a safe default in case your install has any plugins which haven't been updated in a while. If it were me I'd remove the migrate script on a local install of the site and then check everything still works as expected, ensuring there are no errors in the console etc.
- 1
- 2016-04-24
- Andy
-
Ichempfehle dagegen.Diese Abwärtskompatibilitätgibt esnicht ohne Grund.Esist dasjQuery-Äquivalent zum Löschen veralteter Funktionsdateienin WordPress.Wenn Sie sich die Mühemachen,zu überprüfen,ob Ihr * aktuelles * Setup vollständig kompatibelist,werden Änderungen des Setups oder der Plugin-Ergänzungennichtberücksichtigt,und angesichts derpotenziellen Probleme,die Sie verursachen würden,wird der völlig zweifelhafte Vorteil des Entfernenseiner Konsolenicht ausgeglichenProtokollnachricht.I recommend against this. This backwards compatibility is there for a reason. It is the jQuery equivalent of deleting deprecated functions file in WordPress. Going to all the trouble of verifying whether your *current* setup is fully compatible does not even account for changes of setup or plugin additions, and given the potential problems you'd be creating does not balance against the completely dubious benefit of removing a console log message.
- 0
- 2016-04-25
- majick
-
@majick Es würde den Rahmen dieser Antwort sprengen,zu diskutieren,ob das Entfernen des Skriptseine gute Ideeist odernicht. Diesbefasst sich speziellmit dem Problem,wie die Nachrichtin der Konsoleentfernt werden kann.FWIW,ich denke,das Entfernen des Skriptsist aucheine schlechte Idee.Ich denke,die Ablehnungist unangebracht,dameine Antwort die Frage des OPperfektbeantwortet.@majick It's beyond the scope of this answer to discuss whether removing the script is a good idea or not, this specifically addresses the issue of how to remove the message in the console. FWIW, I think removing the script is a bad idea also. I think the downvote is uncalled for, as my answer perfectly answers the OPs question.
- 2
- 2016-04-25
- Andy
-
Estutmir leid,dassichnicht oft abstimme,aberich hatte das Gefühl,dass dies hiererforderlichist,daes keine Warnunggibt,dass diesmöglicherweise keinegute Ideeist und das Gegenteil von Best Practicein der Entwicklungist (fügen Sieeine Warnung hinzu undich werde die Ablehnungentfernen.) I.Ichglaube,die Frageist,wiemannur die Konsolennachrichtentfernt undnicht,wiemanjquerymigrate selbstentfernt.Wennjemandgefragt würde,wie die Update-Nag-Nachrichtin WordPressentfernt werden soll,würden Sienicht antworten: "Deinstallieren Sieeinfach WordPress."sorry I don't downvote often, but felt it was needed here as there is no warning that this may not be a good idea and is the opposite of best practice in development (add a warning and i'll remove the downvote.) I believe the question is asking how to remove just the console message not how to remove jquery migrate itself. if someone asked how to remove the update nag message in WordPress you wouldn't answer "just uninstall WordPress."
- 1
- 2016-04-25
- majick
-
@majick Warnung hinzugefügt.Sie haben Recht damit,dass die Frage lautet,wie die Konsolennachrichtentfernt werden soll. Meine Antwortbesagt,dass dieeinzige Möglichkeit,die Nachricht zuentfernen,darinbesteht,das Skript zuentfernen. Diesist der Fall,es sei denn,Siegehen den Weg des Umschreibensnativer BrowserfunktionengemäßDeine Antwort.@majick warning added. You're right in that the question is asking how to remove the console message, my answer states that the only way to remove the message is to remove the script, which is true unless you go down the route of rewriting native browser functions as per your answer.
- 0
- 2016-04-25
- Andy
-
Keine Probleme,Downvoteentfernt.Fürmich selbst,wennesmich wirklichgeärgert hat,würdeiches vorziehen,die Nachrichtin dermigratejs-Dateibei jedem WP-Upgrade zu kommentieren,anstatt sietrotzdem vollständig zuentfernen.Nur weil Javascript ziemlichtemperamentvollist,manchmaleine Sachefehl am Platzist undfast alles kaputtgeht. Dasisteinfachein zugroßes Risiko ohne Gewinn,wenn dies speziell vorhandenist,um dies zu vermeiden.no probs, downvote removed. for myself, if it really annoyed me, I'd prefer to just comment out the message in the migrate js file each WP upgrade over removing it entirely anyway. just because javascript is pretty temperamental, sometimes one thing out of place and almost everything breaks.. that is just too much of a risk with no gain when this is specifically in place to avoid that.
- 1
- 2016-04-25
- majick
-
Diese Fehlermeldungist ärgerlich,aber das Entfernen aufjederneuen Siteist Zeitverschwendung.Es wäregroßartig,wenn wirirgendwoeinen Entwicklerbitten könnten,der die Nachrichtin Wordpress dort abgelegt hat,siein dernächsten Version zuentfernen :)This error message is annoying but removing it on every new site is a waste of time. It would be great if somewhere we could kindly ask a developer whoever put the message there in Wordpress to remove it in next release :)
- 0
- 2016-07-21
- Ivan Topić
-
@ IvanTopić Es wurde von keinem WordPress-Entwickler hinzugefügt,sondern vomjQuery-Team.Anscheinend werden siees auchnichtentfernen: https://github.com/jquery/jquery-migrate/issues/149@IvanTopić It wasn't added by any WordPress developers, it was added by the jQuery team. By the looks of things it's not something they're going to remove either: https://github.com/jquery/jquery-migrate/issues/149
- 0
- 2016-07-21
- Andy
-
- 2016-04-25
Sie können den Text der Protokollnachrichtin
jquery-migrate.min.js
in leer ändern,dies wirdjedochbeim Kernupdatenichtbeibehalten.Die Alternativebesteht darin,kurz vor dem Laden des Migrationsskriptseine Kopie der Passthrough-/Filterfunktion von
console.log
hinzuzufügen und Protokollnachrichten zuignorieren,die 'Migrationistinstalliert
'. Auf diese Weisebleiben auch andere Migrate-Warnungenerhalten: //Schalldämpferskript Funktionjquery_migrate_silencer () { //Funktionskopieerstellen $ silencer='& lt; script > window.console.logger=window.console.log; '; //Ändern Sie die ursprüngliche Funktion,um die Funktionskopie zufiltern und zu verwenden $ silencer.='window.console.log=function (tolog) {'; //Fehler,wenn leer,um Fehler zu vermeiden $ silencer.='if (tolog==null) {return;}'; //Nachrichtenfiltern,dieeinen Stringenthalten $ silencer.='if (tolog.indexOf ("Migrierenistinstalliert")==-1) {'; $ silencer.='console.logger (tolog);}'; $ silencer.='} & lt;/script >'; $ Schalldämpfer zurückgeben; }} //Verwenden Siefür das Frontend den Filter script_loader_tag add_filter ('script_loader_tag','jquery_migrate_load_silencer',10,2); Funktionjquery_migrate_load_silencer ($tag,$ handle) { if ($ handle=='jquery-migrate') { $ silencer=jquery_migrate_silencer (); //vor demjquerymigrieren laden laden $tag=$ Schalldämpfer. $tag; }} return $tag; }} //Für den Administrator haken Sie sich admin_print_scripts an add_action ('admin_print_scripts','jquery_migrate_echo_silencer'); Funktionjquery_migrate_echo_silencer () {echojquery_migrate_silencer ();}
Das Ergebnisistein einzeiliges HTML-Skript,das sowohl dem Frontend als auch dem Backend hinzugefügt wurde und dengewünschten Effekterzielt (verhindert dieinstallierte Nachricht.)
You could change the log message text to blank in
jquery-migrate.min.js
but this will not be preserved on core update.The alternative is to add passthrough/filter function copy of
console.log
to just before the migrate script is loaded, and tell it to ignore logging messages that contain 'Migrate is installed
'. Doing it this way will preserve other Migrate warnings too:// silencer script function jquery_migrate_silencer() { // create function copy $silencer = '<script>window.console.logger = window.console.log; '; // modify original function to filter and use function copy $silencer .= 'window.console.log = function(tolog) {'; // bug out if empty to prevent error $silencer .= 'if (tolog == null) {return;} '; // filter messages containing string $silencer .= 'if (tolog.indexOf("Migrate is installed") == -1) {'; $silencer .= 'console.logger(tolog);} '; $silencer .= '}</script>'; return $silencer; } // for the frontend, use script_loader_tag filter add_filter('script_loader_tag','jquery_migrate_load_silencer', 10, 2); function jquery_migrate_load_silencer($tag, $handle) { if ($handle == 'jquery-migrate') { $silencer = jquery_migrate_silencer(); // prepend to jquery migrate loading $tag = $silencer.$tag; } return $tag; } // for the admin, hook to admin_print_scripts add_action('admin_print_scripts','jquery_migrate_echo_silencer'); function jquery_migrate_echo_silencer() {echo jquery_migrate_silencer();}
The result is a one line of HTML script added to both frontend and backend that achieves the desired effect (prevents the installed message.)
-
+1für die Idee,aber wennes Ihre Siteist,istes wahrscheinlichbesser,nur sicherzustellen,dass alle Ihre Skriptemit derneuesten Version kompatibel sind,und den Migrator zuentfernen;)+1 for the idea, but if it is your site, it is probably better to just make sure all your scripts are compatible to the latest version and remove the migrator ;)
- 1
- 2016-04-25
- Mark Kaplun
-
Ja,aberichbin einfachnicht damiteinverstanden,den Migrator als Praxis zuentfernen,da die Installation von Themes/Plugins,diemöglicherweisenochnichtmit derneuestenjQuery kompatibel sind,nichtberücksichtigt wird.Parallel dazugibt es viele Plugins,dieimmernochgutfunktionieren,obwohl sie hiermöglicherweise keine WordPress-Funktion realisiert haben oder "offiziell" veraltet sind.Abwärtskompatibilitätist Vorbeugung undbesser als Heilung,wennes umbeide Fälle und auch um Softwareim Allgemeinengeht.yes but I just don't agree with removing the migrator as a practice at all because it doesn't take into account installing themes/plugins which may not be compatible with the latest jQuery yet. as a parrallel there are plenty of plugins that still work fine even though they may not have realized a WordPress function here or there is "officially" deprecated. backwards compatibility is prevention and better than a cure when it comes to both cases and well, software in general.
- 0
- 2016-04-25
- majick
-
Sie haben Recht,aber dieneuestejquery-Versionnicht zu unterstützen,istein Fehler,IMO.4.5ist vor ungefähreinem Monatin RCgegangen,und wenn der Codenichtgetestet wurde,ummit alleneingeführten Änderungen zufunktionieren,sind das Thema/Pluginnicht wirklich kompatibel.In der Welt außerhalb von WordPress werden Verfallsnachrichtenirgendwann zutatsächlichen Verfallmeldungen,und Siemöchten die Bearbeitungnicht so lange überlassen,bis Sie sie so schnell wiemöglich aktualisierenmüssen.Die Migrator-IMO sollteeine temporäre Lösung sein,keinepermanente Funktion.You are right, but not supporting the latest jquery version is a bug IMO. 4.5 went into RC about a month ago, and if code wasn't tested to work with all the changes it introduced, then the theme/plugin are not truly compatible. In the world outside wordpress deprecation messages turn into actual deprecation at some point, and you don't want to leave handling them to the time where you have to upgrade ASAP. The migrator IMO should be a temporary solution, not a permanent feature.
- 2
- 2016-04-25
- Mark Kaplun
-
Ichbin damiteinverstanden,dasses sich umeine Stop-Gap-Lösung handelt,aber aus diesem Grundistjetzttatsächlich der Zeitpunktgekommen,an demes am wichtigstenist.Sicher,der Verfallsprozessin WordPress könnte optimiert werden,abermit dergeringen Größe von `deprecated.php` hater wirklichnurgeringe Auswirkungen auf die Leistung,da alte Funktionsaliasnamen,die aufneue verweisen,nichtbeschädigt werden.Gibmirjeden Tagein gut codiertes,aber "altes" Plugin überein "neues",aber schlecht codiertes Plugin.Die Ideologie von "neuistbesser" sollte sonstnichtgutfunktionierende Software auf diese Weisenichtbrechen,nur weil "oh,wir haben den Namen dieser Funktiongeändert" usw.I agree it is a stop gap solution, but because of that, now is actually the time when it is most important,.! Sure the deprecation process within WordPress could be optimized but with the small size of `deprecated.php` it really has little performance impact keeping old function aliases that refer to new ones and stops things from breaking. Give me a well-coded but "old" plugin over a "new" but badly-coded plugin anyday. The ideology of "new is better" should not break otherwise good working software this way just because "oh we changed the name of that function" etc.
- 0
- 2016-04-25
- majick
-
Ichbin hiernichteinverstandenmit den Prinzipien,das Internetistein sich schnellbewegendes Ziel und die Landschaft verändert sich ständig.(Alsesbeispielsweise dauerte,bis die Site-Logo-Funktion auf 4.5gebracht wurde,waren die Sites von der Idee,nurein Logo zu haben,abgewichen.)Altistnur danngut,wennes auf sehr spezifische und stabile Nischen angewendet wird,aberjQuery zum Beispielistbekanntermaßenein relativbewegliches Ziel.I disagree on principals here, the internet is a fast moving target and the landscape is changing all the time. (by the time it took to get the site logo feature to 4.5 for example, sites had move on from the idea of having only one logo). Old is good only when applied to very specific and stable niches but jQuery for example is know to be a relatively moving target.
- 2
- 2016-04-25
- Mark Kaplun
-
Ich kann zustimmen,nicht zuzustimmen.Nur weiles Fortschritte undneue Funktionengibt,gibt es keinen Grund,alte Dinge,diefunktionieren,aufzugeben,egal obes sich umjQuery,WordPress oderein Thema oderein Plugin oder was auchimmer handelt ... Der Testeines Codes sollte lauten "funktioniertes" oder "wiegut"istes "nicht" wie altistes "... und die Verwendung von" wie altistes "als Messstabfürfunktionierende Softwareführt direkt dazu,dasses auf diese Weise unnötig kaputtgeht ... wennneuer Code ** derfehlerhafteste **ist!Realistischgesehenisteseinfach zu viel,von Entwicklern zuerwarten,dass siemit Updatesfüretwas Schritt halten,das sonstnocheinwandfreifunktioniert -estötetganze Unternehmen.I can agree to disagree. Just because there is progress and new features is no reason to abandon old stuff that works, whether it's jQuery, WordPress or a theme or a plugin or whatever... The test of any code should be "does it work" or "how good is it" not "how old is it"... and using "how old is it" as a measuring stick for working software directly results in breaking it unnecessarily this way... when new code **is** the buggiest! realistically, expecting developers to keep up with updates for something that would still work perfectly otherwise is just too much - it kills entire businesses.
- 0
- 2016-04-25
- majick
-
Ein Themaist keinisoliertes Produkt.Wennein Thema WordPress und JQuery usw. verpackt hätte,wäre das Alter des Themas absolut relevantgewesen.Da dies kein Thematut,istesnicht klargenug,welche Art von Fehlernentdeckt werden,wenn das Themanichtgegen die verwendete WordPress-Versiongetestet wurde.Diesistnureine weitere Manifestation des statischen und dynamischen Verknüpfungsdilemmas.Ineiner statischen Verknüpfungsweltist Ihre Behauptunggrößtenteils wahr,aber WordPressisteine dynamische Verknüpfung. Nur weiletwasmit 3.5funktioniert hat,heißt dasnicht,dassesmit 4.5funktioniert,selbst wenn versucht wird,rückkompatibel zu seinA theme is not an isolated product. If a theme was packaging wordpress and jquery etc, then the age of the theme would have been totally relevant. As no theme does that, if the theme was not tested against the version of wordpress being used, then it is not clear enough what kind of bugs will be discovered. This is just another manifestation of the static vs dynamic linking dilemma. In a static linking world your claim is mostly true, but wordpress is dynamic linking and just because something had worked with 3.5 do not mean it will work with 4.5 even with the attempt to be backcompatible
- 1
- 2016-04-25
- Mark Kaplun
-
aber lasst uns diese Diskussion hierbeenden :),SEfreut sichnicht über die Länge :)but lets stop this discussion here :), SE is not happy about the length of it :)
- 0
- 2016-04-25
- Mark Kaplun
-
- 2016-04-25
Nurein kleiner Test hier.
Ich habeeinen Blickin jquery-migrate.js geworfen und diesen Teilbemerkt :
// Set to true to prevent console output; migrateWarnings still maintained // jQuery.migrateMute = false;
Also habeich Folgendesmit demneuen
wp_add_inline_script()
,eingeführtin Version 4.5: add_action( 'wp_enqueue_scripts', function() { wp_add_inline_script( 'jquery-migrate', 'jQuery.migrateMute = true;', 'before' ); } );
Dies ändert sich:
JQMIGRATE: Migrate wirdmit installiert Protokollierung aktiv,Version 1.4.0
bis:
JQMIGRATE: Migrateistinstalliert,Version 1.4.0
Es wird alsonicht diegesamte Konsolenausgabe verhindert,wie dieser Teilin
jquery-migrate.js
:// Show a message on the console so devs know we're active if ( window.console && window.console.log ) { window.console.log( "JQMIGRATE: Migrate is installed" + ( jQuery.migrateMute ? "" : " with logging active" ) + ", version " + jQuery.migrateVersion ); }
Just a little test here.
I peeked into jquery-migrate.js and noticed this part:
// Set to true to prevent console output; migrateWarnings still maintained // jQuery.migrateMute = false;
so I tested the following with the newly
wp_add_inline_script()
, introduced in version 4.5:add_action( 'wp_enqueue_scripts', function() { wp_add_inline_script( 'jquery-migrate', 'jQuery.migrateMute = true;', 'before' ); } );
This will change:
JQMIGRATE: Migrate is installed with logging active, version 1.4.0
to:
JQMIGRATE: Migrate is installed, version 1.4.0
So it doesn't actually prevent all console output, like this part in
jquery-migrate.js
:// Show a message on the console so devs know we're active if ( window.console && window.console.log ) { window.console.log( "JQMIGRATE: Migrate is installed" + ( jQuery.migrateMute ? "" : " with logging active" ) + ", version " + jQuery.migrateVersion ); }
-
Der untere Codeentfernt alsonur die Nachricht,oder?Ichmeine,die Migrationbleibt,aber die Nachricht wird unterdrückt,oder?Diesistbesser,als die Migration definitiv zuentfernenSo the bottom code just removes the message, right? I mean, the migrate stays but the message is supressed, right? This is better than removing the migrate definitely
- 1
- 2016-04-25
- dingo_d
-
Nein,dasisteine Kopie des Codes,der die Konsolenprotokollnachrichterzeugt,die * ausgibt *.Es zeigt,dassmigrateMutenurfür die zweite Hälfte der Konsolennachrichtgetestet wird - dieerste Hälfte wird unabhängig davon ausgegeben ... * Durch Entfernen * dieses Codeblocks wird die Konsolennachrichtentfernt,aber Siemüsstenjedes WP-Update wiederholen.no, that is a copy of the code producing the console log message that *does* output. it shows that migrateMute is only tested for the second half of the console message - the first half is output regardless... *removing* this code block will remove the console message, but you would need to redo that each WP update.
- 1
- 2016-04-25
- majick
-
Vielen Dankfür die Recherche und Details!IMO diebeste Option,da das Entfernen von JQmigratenichtimmereine gute Ideeist,da viele WP-Plugins von veraltetenjQuery-Funktionen abhängen.Diese Lösung hilft,die Konsolenausgabeein wenig zubereinigen!Thanks for the research and details! IMO the best option, since removing JQmigrate is not always a good idea, because many WP plugins depend on deprecated jQuery functions. This solution helps to clean up the console output a bit!
- 2
- 2017-04-28
- Philipp
-
- 2018-09-21
Lösung:
füge dies zufunctions.php hinzu:
function remove_jquery_migrate_notice() { $m= $GLOBALS['wp_scripts']->registered['jquery-migrate']; $m->extra['before'][]='temp_jm_logconsole = window.console.log; window.console.log=null;'; $m->extra['after'][]='window.console.log=temp_jm_logconsole;'; } add_action( 'init', 'remove_jquery_migrate_notice', 5 );
Esfunktioniert,wenn
jquery-migrate
mit einem Standard-Hook (der<link rel=stylesheet....>
ausgibt) undnichtmitload-scripts.php
in großen Mengen (wieim Admin-Dashboard).Solution:
add this to functions.php:
function remove_jquery_migrate_notice() { $m= $GLOBALS['wp_scripts']->registered['jquery-migrate']; $m->extra['before'][]='temp_jm_logconsole = window.console.log; window.console.log=null;'; $m->extra['after'][]='window.console.log=temp_jm_logconsole;'; } add_action( 'init', 'remove_jquery_migrate_notice', 5 );
It works when
jquery-migrate
is called with standard hook (which outputs<link rel=stylesheet....>
) and not withload-scripts.php
in bulk (like in admin-dashboard).-
Dasfunktioniertgutfürmich.Vielen Dank!This works fine for me. Thank you!
- 1
- 2020-01-31
- Didierh
-
-
Das hatbei mirnichtfunktioniert.That did not work for me.
- 3
- 2018-10-04
- Serj Sagan
-
-
- 2018-04-26
Wiebereits von Andyerwähnt verwendet WordPress dasjQuery-Migrationsskript,um die Abwärtskompatibilität sicherzustellen . Aus diesem Grund wirdes standardmäßig automatischgeladen.
Hieristeine sichere Möglichkeit,das JQuery Migrate-Modul zuentfernen und so den lästigen JQMIGRATE-Hinweis zubeseitigen,während das Laden Ihrer Seite auf der Clientseitebeschleunigt wird. Kopieren Sie diesen Codeeinfachin Ihre Datei functions.php undfertig:
<?php /** * Disable jQuery Migrate in WordPress. * * @author Guy Dumais. * @link https://en.guydumais.digital/disable-jquery-migrate-in-wordpress/ */ add_filter( 'wp_default_scripts', $af = static function( &$scripts) { if(!is_admin()) { $scripts->remove( 'jquery'); $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' ); } }, PHP_INT_MAX ); unset( $af );
Weitere Details
Weitere Informationen zum Grundfür die Verwendungeiner statischen Funktionfinden Siein meinem Artikel hier:
►► https://en.guydumais.digital/disable-jquery-migrate -in-wordpress/As mentionned previously by Andy WordPress uses the jQuery migrate script to ensure backwards compatibility and this is why it is automatically loaded by default.
Here's a safe way to remove the JQuery Migrate module and thus get rid of the annoying JQMIGRATE notice while speeding up the loading of your page on the client side. Simply copy/paste this code in your functions.php file and you're done:
<?php /** * Disable jQuery Migrate in WordPress. * * @author Guy Dumais. * @link https://en.guydumais.digital/disable-jquery-migrate-in-wordpress/ */ add_filter( 'wp_default_scripts', $af = static function( &$scripts) { if(!is_admin()) { $scripts->remove( 'jquery'); $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' ); } }, PHP_INT_MAX ); unset( $af );
More details
To get more details about the reason I'm using a static function, read my article here:
►► https://en.guydumais.digital/disable-jquery-migrate-in-wordpress/-
herabgestuft,weil 1. dies zu sehrnach Spam riecht undnur denminimalen Aufwand unternimmt,um sich wieeine Antwort zufühlen.2. Sie codieren die Version,die das Cache-Busting aufhebt,hart.downvoted because 1. this smells too much of a spam and just does the minimal effort to feel like an answer. 2. You hard code the version nullifying cache busting.
- 2
- 2018-04-26
- Mark Kaplun
-
Esisteine Schande,weilesein netter Ansatzist,auch wenn Sie "add_filter" verwenden,wennestatsächlicheine Aktionist.its a shame because its a nice approach, even tho you're using `add_filter` when its actually an action.
- 0
- 2018-09-20
- pcarvalho
Warumgibt eseine ständige Benachrichtigung,
das auf
load-scripts.php
in meiner Konsole verweist,alsichmein Thema auf WordPress 4.5 aktualisiert habe,und wie kannesentfernt werden?Esist kein Fehler,aberesistimmerin meiner Konsole vorhanden,undich verstehe wirklichnicht,worumesgeht. Sollichetwas aktualisieren oder Änderungen anmeinem Code vornehmen?
Vielleicht habeichein bisschen Zwangsstörung,abernormalerweise seheichbei der Inspektion der Sitegerne Fehler undechte Hinweise,die aufein Problemin meiner Konsole hinweisen ...
BEARBEITEN
WordPress 5.5entfernte dasjQuery Migrate-Skript als Vorbereitungsschrittfür die Aktualisierung vonjQuery auf dieneueste Versionin 5.6. Der Hinweis sollte also weg sein.
https://make.wordpress.org/core/2020/06/29/updating-jquery-version-shipped-with-wordpress/