Entfernen Sie die Abfragezeichenfolge außer google map api

Ich habe ein ähnliches Problem wie viele andere im Internet, aber bisher noch keine Lösung.

Um Abfragezeichenfolgen zu entfernen, habe ich den folgenden Code verwendet:

function _remove_script_version( $src ){ $parts = explode( '?', $src ); return $parts[0]; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 ); 

Was ich möchte, ist zu wissen, ob jemand glaubt zu wissen, wie man einen Code einrichtet, um zu verhindern, dass googple map api query string entfernt wird.

Um den Fehler unten zu beheben:

“Der Google Maps API-Server hat Ihre Anfrage abgelehnt. Der in der Anfrage angegebene Parameter “sensor” muss entweder auf “true” oder “false” gesetzt sein.

Glaubt jemand, wie man das beheben kann?

Solutions Collecting From Web of "Entfernen Sie die Abfragezeichenfolge außer google map api"

Zuallererst möchte ich Ihnen wärmstens empfehlen, keine Abfrageteile von Javascript- und Stylesheet-Dateien zu entfernen. Warum? Weil sie eine Version einer Datei enthalten.

Warum brauche ich es? Wir müssen jeder Datei eine Version hinzufügen (wann immer es möglich ist), um Versionskonflikte zu verhindern. Diese Kollisionen können auftreten, wenn eine neue Version von WP / plugin veröffentlicht wird und Sie diese über das Admin-Panel aktualisieren. In diesem Fall wird der Browser Ihres Benutzers nicht benachrichtigt, dass eine neue Version eines Skripts existiert, und wird diese nicht herunterladen, sondern wird die vorherige Version verwenden, die im Browser-Cache gespeichert ist.

Wenn Sie jedoch davon überzeugt sind, dass Sie die Abfragezeichenfolgen nicht benötigen und dennoch Suchabfragen trimmen möchten, können Sie dies tun, indem Sie Ihre function in die folgende Ansicht ändern:

 function _remove_script_version( $src ){ return add_query_arg( 'ver', false, $src ); } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 ); 

Das wäre mein Ansatz:

 function _remove_script_version( $src ){ $parsed = parse_url($src); if (isset($parsed['query'])) { parse_str($parsed['query'], $qrystr); if (isset($qrystr['ver'])) { unset($qrystr['ver']); } $parsed['query'] = http_build_query($qrystr); } // return http_build_url($parsed); // elegant but not always available $src = ''; $src .= (!empty($parsed['scheme'])) ? $parsed['scheme'].'://' : ''; $src .= (!empty($parsed['host'])) ? $parsed['host'] : ''; $src .= (!empty($parsed['path'])) ? $parsed['path'] : ''; $src .= (!empty($parsed['query'])) ? '?'.$parsed['query'] : ''; return $src; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 ); 

Sie würden bestimmte Abfrageparameter explizit unset , in diesem Fall nur den Parameter ver und alles andere intakt lassen.

Soweit Abfragezeichenfolgen und Caching: https://stackoverflow.com/questions/850187/caching-from-urls-with-a-query-string