Einreihen von Google Web Fonts auf die übliche Weise, dh mithilfe der folgenden wp_enqueue_style
Funktion ...
function wpse_google_webfonts() {
wp_enqueue_style( 'google-webfonts', 'http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700' );
}
add_action( 'wp_enqueue_scripts', 'wpse_google_webfonts' );
... führt zu einem link
Tag in der Kopfzeile wie folgt :
<link rel='stylesheet' id='google-webfonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed%7COpen+Sans%3A400italic%2C700italic%2C400%2C700&ver=3.5' type='text/css' media='all' />
Wie Sie sehen können, ist die resultierende URL verschlüsselt .
Ich bin mir ziemlich sicher, dass dies keine Probleme aufwirft, aber um die Dinge sauber und klar zu halten, möchte ich fragen: Gibt es eine Möglichkeit, Google Web Fonts (über functions.php
und nicht über ein Plugin) so in die Warteschlange zu stellen , dass die URL ausgegeben wird ? ist nicht verschlüsselt?
Das ist so:
<link rel='stylesheet' id='google-webfonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700?ver=3.5' type='text/css' media='all' />
Grund für Kopfgeld
Die Antwort von @ webaware ist nahezu perfekt, insbesondere weil sie der Methode ähnelt, mit der die Google Web-Schriftart "Open Sans" im Thema " Twenty Twelve" in die Warteschlange gestellt wird .
Das einzige Problem in der Ausgabe ist, dass es so ist:
<link rel='stylesheet' id='twentytwelve-fonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700&subset=latin,latin-ext' type='text/css' media='all' />
Beachten Sie die &
? Es sollte sein &
, sonst haben die latin
bereitgestellten Schriftdateien nur die Glyphen (dh der subset
Parameter in der URL wird vernachlässigt, es sei denn, Sie verwenden &
und NICHT seine HTML-Entität).
Jeder, der helfen kann, die Antwort von @ webaware so zu ändern, dass die Ausgabe so aussieht ...
<link rel='stylesheet' id='twentytwelve-fonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700&subset=latin,latin-ext' type='text/css' media='all' />
... gewinnt das Kopfgeld.
quelle
Antworten:
WordPress weiß, was es hier macht. Ehrlich.
Wenn Sie ein kaufmännisches Und in HTML rendern, sollten Sie immer
&
oder verwenden&
. Der Browser konvertiert es dann in,&
bevor die HTTP-Anforderung tatsächlich ausgelöst wird. Überzeugen Sie sich selbst, indem Sie die Netzwerkaufrufe in einem Webinspektor-Tool überprüfen. Sie verlieren Ihre nicht-lateinischen Untergruppen nicht wirklich.Dies sagt mir, dass Sie die Quelle überprüft haben, um festzustellen, ob ein kaufmännisches Und-Zeichen vorliegt, ohne das resultierende Verhalten tatsächlich zu überprüfen. Ja, es tritt auf, wenn Sie eine URL mit einem maskierten kaufmännischen Und in eine Adressleiste einfügen. Aber nicht, wenn Sie eine ordnungsgemäß codierte und maskierte URL in einem HTML-src- oder href-Attribut haben.
Sie sollten unter http://www.blooberry.com/indexdot/html/topics/urlencoding.htm nach weiteren unsicheren und reservierten Zeichen suchen . Beide Gruppen sollten immer codiert sein.
quelle
http://fonts.googleapis.com/css?family=Ubuntu+Condensed&subset=latin,latin-ext
) haben, entspricht die Art und Weise, wie der Browser sie behandelt, der Eingabe durch den Benutzerhttp://fonts.googleapis.com/css?family=Ubuntu+Condensed&subset=latin,latin-ext
(dh mit der tatsächlichen&
und nicht der HTML-Entität) in die Adressleiste. Ist das korrekt? Wenn ja, danke für die klare Erklärung. :)%38
), da es in seiner speziellen URL-Rolle verwendet wird. URL - Codierung ein reserviertes oder unsichere Zeichen wie|
,:
oder Leerzeichen getrennt sind, und auch gefördert werden .Versuchen Sie dies (wird auch HTTP vs HTTPS behandeln):
quelle
&
wie&
und lädt genau die gleiche URI. Zum Testen habe ich einfache HTML-Seiten mit beiden geladen und den Cache vor dem Laden geleert. beide haben die gleichen Schriftdateien (gleiche Größe) geladen. Versuch es.Basierend auf dieser Antwort könnten Sie so etwas wie diesen ungetesteten Code ausprobieren :
quelle
<link rel='stylesheet' id='google-webfonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu Condensed|Open Sans:400italic,700italic,400,700&ver=3.5' type='text/css' media='all' />
- Beachten Sie & # 038; ver = 3.5 ? Es sollte eher ? Ver = 3.5 sein . Irgendeine Lösung im Sinn? Danke für die Antwort. :)?
. Dies würde zu einer ungültigen URL für Google führen.http://fonts.googleapis.com/css?family=Ubuntu%20Condensed|Open%20Sans:400italic,700italic,400,700?ver=3.5
wird gut geladen. Oder vermisse ich deinen Standpunkt?&
nicht?
. Sie können sich nicht auf die Großzügigkeit von Google verlassen.Eigentlich ist es so einfach:
Und das sollte ausgeben:
Das ist ziemlich nah an , was ich gewollt hätte (nur bedauern ist , dass
&
wird&
in der Ausgabe). Aber dann wurde mir klar, dass es nicht wirklich wichtig ist, hauptsächlich dank Andrew Nacins Antwort .Aber ich muss allen für ihre Bemühungen danken.
quelle