Support » Allgemeine Fragen » Script auf einer bestimmten Seite?

  • Ich bin auf der Suche nach einer Möglichkeit auf einer bestimmten WP-Seite, die bis jetzt nur Text und ein Bild enthält, ein Script einzufügen.

    Eingefügt werden soll folgendes Script: Google-Box

    Aus Sicherheitsgründen möchte ich das Script nur auf einer bestimmten Seite und nicht global zulassen.

    Denkbar wäre auch eine Lösung im Footer – nur soll das Script halt nur bei einer bestimmten Seite ausgeführt werden.

    Hat jemand dazu eine Idee?

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Beim Einbinden im Footer kannst Du einfach per Conditional Tag prüfen, ob es sich um die richtige Seite handelt:
    http://codex.wordpress.org/Function_Reference/is_page

    Gruß, Torsten

    Thread-Starter PCCounselor

    (@pccounselor)

    Danke Torsten, für den Tipp.

    Habe es zum Versuch mit folgendem Eintrag im Footer versucht:

    if ( is_page(‚311‘) ) {
    echo „Hallo Welt“;
    }
    else
    {
    echo „Die Welt ist nicht vorhanden“;
    }

    Das geht problemlos. Binde ich statt meines Echos „Hallo Welt“ das Google-Script ein, geht es leider nicht mehr. Habe das Script zwar auch mit einem „echo“ auf die Reise geschickt, da ich aber in PHP nicht fitt bin, bekomme ich den richtigen Syntax nicht hin.

    Da das Google-Script allerdings problemlos in einem Text-Widget läuft, habe ich als alternative Lösung mit dem Plugin „Widgetize Pages Light“ gearbeitet. Das funktioniert auch ganz gut.

    Wenn jemand allerdings zu dem Syntax „if ( is_page“ speziell für das Google-Script noch eine Lösung hat, könnte ich noch was lernen. 😉

    Grüße
    Stefan

    JavaScript sollte bevorzugt mit wp_enqueue_script() eingebunden werden.

    function my_awesome_javascript() {
        if( is_page('Impressum') {
         wp_enqueue_script( 'helloworld', get_stylesheet_directory_uri() . '/js/my_awesome_script.js'; $in_footer=true );
       };
    }
    add_action('wp_enqueue_scripts', 'my_awesome_javascript');

    und dann noch eine JavaScript-Datei

    (function() {
    alert("Hello World")
    })();

    Der Parameter $in_footer sorgt dafür, dass das Script automatisch im Footer eingebunden wird. Dafür verwendet WordPress auf get_footer(); in der footer.php.

    Dass JavaScript nicht funktioniert, kann ganz verschiedene Gründe haben; z.B. ein Programmierfehler in JavaScript selbst, ggf, auch an einer anderen Stelle, Konflikte durch das Laden unterschiedlicher jQuery-Bilbliotheken uvm.

    Thread-Starter PCCounselor

    (@pccounselor)

    Danke „pixolin“ – werde das testen.

    Grüße
    Stefan

    Genau, das Skript kannst Du so sauber enqueuen und per Conditional Tag nur auf bestimmten Seiten laden lassen.

    Leider ist bei der Google-Box ja noch das Markup an eine bestimmte Stelle einzubauen. Sofern dieses Markup ohne das Skript etwas darstellt, müsstest Du es noch per CSS ausblenden, wenn nicht die entsprechende Seite aufgerufen wird. Das kannst du per Body-Klasse machen:
    http://codex.wordpress.org/Function_Reference/body_class

    Gruß, Torsten

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „Script auf einer bestimmten Seite?“ ist für neue Antworten geschlossen.