Wordpress

Nog even niet upgraden naar WordPress 4.5

Sinds gisteren is WordPress 4.5 beschikbaar. Bij de eerste site waar ik deze versie op testte viel me op dat er bepaalde jquery functies niet meer werkten. Bij controle in de Chrome console zie je de volgende foutmelding:

Uncaught Error: Syntax error, unrecognized expression: a[href*=#]:not([href=#])

Wat blijkt? In de jquery library lijkt een fout te zitten, met de volgende foutmelding in de console tot gevolg:

Update:
Na wat verder onderzoek blijkt het geen fout te zijn in WordPress, integendeel: de nieuwe library heeft een bug eruit gehaald. Het probleem ontstaat doordat verkeerd geprogrammeerde jquery scripts nu ineens niet meer geaccepteerd worden.

De meest voorkomende oorzaak is dit stukje code:

a[href*=#]:not([href=#])

Wat moet zijn:

a[href*="#"]:not([href="#"])

De # moet dus gequote worden. Een ander voorbeeld is dit: a[href=#scroll-to-top] wat moet zijn: a[href="#scroll-to-top"]

Je ziet, het zijn steeds stukjes code met href en #.

Dus na de upgrade beginnen deze programmeerfoutjes ineens ernstige gevolgen te hebben. Het beste is natuurlijk om de jquery te upgraden, en de quotes toe te voegen. Ben je afhankelijk van plugins of themes die dat nog niet hebben gedaan, dan kan je het beste de jquery library downgraden naar de vorige. Hiervoor moet je de standaard WordPress library deregistreren, en dan een oudere registreren. Dit kan je als volgt doen:

Ga naar wp-content/themes/jouw-thema, en zoek het bestand functions.php

Voeg hier de volgende code aan toe:

if (!is_admin()) {
  		wp_deregister_script('jquery');
		wp_register_script('jquery', ("//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"), false, '1.11.3');
		wp_enqueue_script('jquery');
}

Related Articles

Laat een reactie achter