Support » Allgemeine Fragen » wp_enqueue_script Abhängigkeiten

  • Hallo,

    ich habe ein Problem mit wp_enqueue_script unzwar möchte ich die javascript google-maps-api laden und durch das laden wird die callbackfunction initMap() aufgerufen. Es wird alles wunderbar geladen, aber er findet die funktion initMap() nicht.

    wp_register_script("google_maps_api", "https://maps.googleapis.com/maps/api/js?key=".get_field("google_map_api_key", "option")."&callback=initMap", array(), "1.0.0", true);
    wp_register_script("google_maps_multiple_locations", MY_PLUGIN_URL . "js/google_map_multiple_locations.js", array("jquery"), "1.0.0", true);
    
    wp_enqueue_script("google_maps_api");
    wp_enqueue_script("google_maps_multiple_locations");

    Was muss ich machen, damit die google_maps_api erst nach google_maps_multiple_locations eingebunden wird?

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Die Funktion wp_register_script() hat einen Parameter, mit dem du Abhängigkeiten festlegen kannst:

    $args = (
      $handle, // Bezeichnung
      $src, // Quelle
      array(), // Abhängigkeiten 
      $ver = false, // Versionsnummer
      $in_footer = false, // ob Script erst im Footer geladen werden soll
    );
    wp_register_script( $args )

    Wenn also google_maps_multiple_locations Voraussetzung für google_maps_api ist, müsste das so aussehen:

    
    function my_register_scripts() {
      wp_register_script( 'google_maps_multiple_locations', MY_PLUGIN_URL . 'js/google_map_multiple_locations.js', array('jquery'), '1.0.0', true );
      wp_register_script( 'google_maps_api', 'https://maps.googleapis.com/maps/api/js?key='.get_field('google_map_api_key', 'option').'&callback=initMap', array( 'google_maps_multiple_locations' ), '1.0.0', true );
    
      wp_enqueue_script( 'google_maps_multiple_locations' );
      wp_enqueue_script( 'google_maps_api' );
     }
     add_action( 'wp_enqueue_scripts', 'my_register_script' );
    Thread-Starter mathishuettl

    (@mathishuettl)

    ajj.. das hab ich sogar genauso gemacht nur war der link zur datei falsch.
    Vielen Dank!

    Aber eine kleine Frage nebenbei:
    Ich habe im init hook die scripts registriert und in einem shortcode callback die wp_enqueue_script function aufgerufen ohne die action „wp_enqueue_scripts“ es funktioniert aber. Oder soll ich es besser mit der „wp_enqueue_scripts“ action machen?

    wp_enqueue_scripts ist eigentlich der richtige Hook. Vgl. https://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „wp_enqueue_script Abhängigkeiten“ ist für neue Antworten geschlossen.