Allgemeine Informationen zu Elektronik, Platinen, Programmierung, PCs und mehr...

von   am   | 2 Kommentare | aktualisiert am  | 2920 mal gelesen
21 mal als PDF heruntergeladen

WordPress Plugin Script nur auf bestimmten Seiten laden

   no image

Plugins gezielt laden

Es gibt für WordPress unzählige Plugins

Jedes dieser Plugins benötigt meistens eigene CSS- und Javascript/jQuery-Dateien.
Üblicherweise werden diese dann über Funktionen im Plugin PHP Code mittels wp_enqueue_style() und wp_enqueue_script() aufgerufen und dann per add_action bzw. wp_register an entsprechender Stelle in den HTML-Code im <head>-Bereich eingebunden.

Ladezeiten

Im Interesse einer schnelleren Ladezeit einer Seite wäre es aber besser, diese Scripte am Ende der Website zu laden, denn die meisten Scripte werden gar nicht zu Anfang gebraucht.

Nun kann man mit einer Funktion, welche man in seiner functions.php integriert, dafür sorgen, dass alle Javascripte und jQuery Dateien im Footer geladen werden:

Scripte im Footer laden:

Inzwischen ist das Ganze auch als Plugin zu finden:
Scripte im Footer laden – WordPress Plugin*

*Für dieses Plugin gab es wohl schon länger kein Update mehr! Also Vorsicht wenn das eingesetzt werden soll.

Manchmal aber funktionieren nicht alle Plugins und Funktionen wie erwartet und diese Möglichkeit, pauschal alle Scripte im Footer zu laden, fällt aus.

Das Feintuning

Hier kann man aber manuell ansetzen. Man sucht in den Dateien des Plugins die entsprechende Zeile, wo mit wp_enqueue_style() oder wp_enqueue_script() die entsprechende CSS-Datei oder das entsprechende Script geladen wird und kommentiert diese Zeile einfach mit # aus:

Dann nimmt man die entsprechenden Zeilen aus dem HTML-Quelltext wo diese Dateien im <head> geladen werden und kopiert diese Zeile in seine footer.php, und zwar möglichst in der Nähe des schließenden <body>-Tags:

Das kann man sogar für einzelne Seite steuern, sofern ein Plugin nicht auf jeder Seite zum Einsatz kommt und daher nicht auf jeder Seite geladen werden muss.
Hierzu steuert man die Ausgabe über die IDs der entsprechenden Seiten:

Soweit so gut. Es gibt aber Plugins, so wie den Crayon Syntax Highlighter, wo es nicht möglich ist die jQuery-Datei im Footer laden zu lassen. Das Plugin greift dann einfach nicht, auch nicht, wenn ich es manuell in der header.php eingebunden hatte. Dieses habe ich an mehreren Stellen in der header.php probiert. Also muss es doch über die Funktion des Plugins geladen werden.
Nun brauche ich aber das Plugin nicht auf jede meiner Seiten.
Ich habe dann überlegt, wie ich es steuern kann, dass das Script nur auf den dafür vorgesehenen Seiten geladen wird. Eine Abfrage per ID der Seite und dann das manuelle Einbinden im <head>- oder <body>-Bereich der Seite klappt ja nicht.

Die Lösung ist recht simpel. Ich habe meine entsprechende Template-Datei unter anderem Namen abgespeichert -> coding.php
Oben habe ich noch einen anderen Template Namen vergeben, damit ich im Backend dieses auch richtig auswählen kann:

Nun habe ich allen Seiten, welche dieses Plugin nutzen, das entsprechende Template zugewiesen.

Die Plugindatei um die entsprechende Abfrage erweitern

Die Abfrage in der PHP-Datei des Plugins sieht so aus:

Durch diese Abfrage wird erreicht, dass die jQuery-Datei nur eingebunden wird wenn die coding.php als Template-Datei zugrunde liegt.
 



Bewerte den Artikel, wenn du magst:
[Gesamt: 27 Durchschnitt: 4.6/5]

2 Kommentare

  1. Harry Milatz

    Inzwischen kann ich das Plugin Plugin Organizer sehr empfehlen. Hier kann man für jede Seite und jeden Beitrag auswählen, welches Plugin geladen werden soll.

    Bewerte diesen Kommentar, wenn du magst:
    [Gesamt: 26    Durchschnitt: 3.5/5]
  2. Harry Milatz

    Zur Optimierung der Seitengeschwindigkeit empfehle ich das Plugin Autoptimize. Es ist von den Einstellungen her recht simpel. Es fasst jeweils alle CSS- und JS-Dateien in eine zusammen und lädt alles im Footer. Die möglichen Optionen sind gut erklärt.
    Ein weiteres Caching-Plugin wie Super Cache oder W3 Total Cache oder auch das sehr gute und schlanke Cachify setze ich nicht mehr ein. Autoptimize reicht bei mir völlig aus.

    Bewerte diesen Kommentar, wenn du magst:
    [Gesamt: 26    Durchschnitt: 3.5/5]

Kommentar verfassen

Du kannst auch mit einem deiner folgenden Profile kommentieren*:


* Zustimmung zur Datenschutzerklärung
Dieses Kommentarformular speichert Name, E-Mailadresse und Inhalt, sowie die IP-Adresse für maximal 60 Tage. Für detaillierte Informationen lies bitte unsere Datenschutzerklärung.
*

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert. - HTML ist erlaubt.Du kannst folgende HTML Tags und Attribute benutzen:
<a href="" title=""> <abbr title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strong> <pre style="" class="" title="" data-url=""> <span style="" class="" title="" data-url=""> .

Top
green

BILDSCHIRM OFF.
SPAREN ON!

Ein dunkler Monitor verbraucht im Gegensatz zu einem hellen bis zu 20% weniger Strom.
Daher spare ich jetzt Energie für dich.

Harrys Welt