2017-10-20 1 views
-2

Wir haben eine WordPress-Website, wo wir ein Programm verwenden, um Share-Schaltflächen für unsere Website zu erstellen. Dies wird ShareThis genannt. Alles, was wir tun müssen, um es auf unserer Seite zu integrieren, ist das Hinzufügen des folgenden Skripts zu unserer header.php.Machen ShareThis (ein Skript) nur auf bestimmten Seiten laden

<script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#property=58ff3bc2a9dabe0012b03357&product=inline-share-buttons' async='async'></script> 

Wir haben - und es funktioniert perfekt. Aber gibt es eine Möglichkeit, dieses Skript nur auf unserem Blog und nicht auf jeder Seite unserer Website zu laden? Es verlangsamt unsere Seite um ca. 400 ms und wird nur in unseren Blog-Posts verwendet.

+0

Wäre es nicht im Cache nach der ersten Anfrage, und dann * nicht * zusätzliche 400ms bei nachfolgenden Anfragen? –

+0

Es wird definitiv schneller nach dem Cache, aber gibt es einen Grund, es auf unnötige Seiten laden zu lassen? Mit anderen Worten, gibt es irgendwelche Nachteile, den unten vorgeschlagenen Code zu verwenden, um es nur auf dem Blog zu laden? Wir haben KEINE anderen Bereiche, in denen wir die Freigabe verwenden müssen. – eMikkelsen

Antwort

2

Es gibt tatsächlich eine einfache Möglichkeit, dies zu tun. In Ihrer Kopfzeile können Sie dies tun. Zuerst werde ich erklären, was und dann wie du es tust.

Sie dies durch Überprüfung leicht tun können, wenn die $_SERVER['REQUEST_URI'] Variable beginnt mit ‚Blog‘ oder der gewünschte Seite Präfix auf laden, zum Beispiel http://yoursite.com/blog/(post)

How-to:

if (0 === strpos($_SERVER['REQUEST_URI'], '/blog')) { 
    // Load script 
    echo "<script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#property=5‌​8ff3bc2a9dabe0012b03‌​357&product=inline-s‌​hare-buttons' async='async'></script>"; 
} 
+0

Unglaublich. Ich habe festgestellt, dass alle meine Blog-Posts mit Blog beginnen. Jetzt muss ich nur wissen, wo ich den Code addiere, den du in Verbindung mit dem alten hinzugefügt hast? Ich gehe davon aus, dass alles unter der header.php steht, aber wie stelle ich sicher, dass der Code, den du hinzugefügt hast, nur für den ShareThis-Code gilt und nicht für alle meine anderen Javascript? Es geht: < 'text/javascript' script type = src = '// platform-api.sharethis.com/js/sharethis.js#property=58ff3bc2a9dabe0012b03357&product=inline-share-buttons' async = 'async' > if (0 === strpos ($ _ SERVER [ 'REQUEST_URI'], '/ Blog')) { // Lade Skript } – eMikkelsen

+0

das Skript zu laden, echo einfach das Script-Tag in der 'if' Anweisung if (0 === strpos ($ _ SERVER ['REQUEST_URI'], '/ Blog')) {echo " "; } P.S. Ich habe meine ursprüngliche Antwort bearbeitet – SirHyperNova

+0

Hallo. Sehr professionell. Ich habe hinzugefügt: if (0 === strpos ($ _ SERVER ['REQUEST_URI'], '/ Blog')) { // Laden Sie Skript echo " "; } In meiner header.php funktioniert es jedoch nicht. Am Anfang meiner Seite, wenn ich die Seite öffne, wird der Code angezeigt: if (0 === strpos ($ _ SERVER ['REQUEST_URI'], '/ blog')) {// Skript-Echo laden ""; } – eMikkelsen

Verwandte Themen