javascript einbinden funzt nicht

  • Hallo ,
    ich wollte ein eigenes javascript einbinden und habe dafür das übliche Standard-Prozedere benutzt:

    PHP
    function my_scripts() {   
          wp_register_script('slideshow_script', get_stylesheet_directory_uri() .'/js/slideshow_script.js', array('jquery'),'',false);
      
        wp_enqueue_script('slideshow_script');
    }

    ...leider funktioniert das nicht:im Quelltext (Header) wird komischerweise eine Versionsnummer angehängt, obwohl ich selbige gar nicht angegeben habe bzw. einen Leerstring.
    /wp-content/themes/twentyeleven/js/slideshow_script.js?ver=4.1[COLOR=#881280][FONT=monospace][/FONT][/COLOR]

    Wie kommt denn bloss das Ding da rein?....und wie kriege ich mein Script zum Laufen?
    WP 4.1, Theme Twenty-Eleven

    Gruss, Helmut

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • wenn du das in eine Funktion schreibst, musst du diese natürlich noch in eine Aktion hinzufügen. Versuch's mal so z.B.

    PHP
    function my_scripts() {   
      wp_register_script('slideshow_script', get_stylesheet_directory_uri() .'/js/slideshow_script.js', false, null, true);
      wp_enqueue_script('slideshow_script', get_stylesheet_directory_uri() .'/js/slideshow_script.js', array(), false, true);
    }
    add_action('init', 'my_scripts');

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Der "richtige" Hook ist wp_enqueue_scripts

    Code
    add_action( 'wp_enqueue_scripts', 'my_scripts' );
    function my_scripts() {   
        wp_register_script('slideshow_script', get_stylesheet_directory_uri() .'/js/slideshow_script.js', array('jquery'),'',false);
        wp_enqueue_script('slideshow_script');
    }

    Allerdings würde ich in dem Code die Verwendung von get_stylesheet_directory_uri() hinterfragen. Ist es tatsächlich gewünscht, dass das Script bei Verwendung eines Childthemes durch ein Script gleichen Namens ersetzt werden können soll? Falls nicht sollte hier get_template_directory_uri() zum Einsatz kommen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • wenn du das in eine Funktion schreibst, musst du diese natürlich noch in eine Aktion hinzufügen. Versuch's mal so z.B.

    PHP
    function my_scripts() {   
      wp_register_script('slideshow_script', get_stylesheet_directory_uri() .'/js/slideshow_script.js', false, null, true);
      wp_enqueue_script('slideshow_script', get_stylesheet_directory_uri() .'/js/slideshow_script.js', array(), false, true);
    }
    add_action('init', 'my_scripts');

    Sorry, habe ich natürlich auch gemacht:

    PHP
    add_action( 'wp_enqueue_scripts', 'my_scripts' );


    ...ich hatte es nur hier im Forum vergessen.
    Dann war also doch alles richtig?!
    Ein WP-Bug?

  • Habe jetzt in der Doku gelesen, dass defaultmässig (wenn keine Version angegeben wurde) immer die WP-Version automatisch hinzugefügt wird!
    Um diese Versionsnummer zu unterbinden, muss mann *null* als Version angeben...
    Man lernt nie aus ;-))

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!