it-swarm.com.de

JQuery in Wordpress einbinden

Ich verwende den folgenden Code, um jQuery in meine Wordpress-Installation aufzunehmen. Ich habe die jQuery-Datei zuvor mit dem Standard-HTML-Skript aufgerufen, aber dies verursachte Probleme mit einem Wordpress-Plugin in IE9. Wenn ich die Funktion wp_enqueue_script verwende, wird das Problem behoben, aber dann wird meine benutzerdefinierte Javascript-Datei, die ich nach wp_head () einfüge, beschädigt. Was mache ich falsch?

<?php wp_enqueue_script("/wp-content/themes/mytheme/js/jquery-1.5.1.min.js"); ?>
<?php wp_head(); ?>
<script type="text/javascript" src="/wp-content/themes/mytheme/js/custom.js"></script>
1
techcastoni

1) Fügen Sie Skripte nur über wp_head () hinzu. Registrieren Sie Ihr benutzerdefiniertes Skript und stellen Sie es in die Warteschlange:

function mytheme_custom_scripts() {

    if ( ! is_admin() ) {
        $scriptsrc = get_stylesheet_directory_uri() . '/js/';
        wp_register_script( 'mytheme_custom', $scriptsrc . 'custom.js' );   
        wp_enqueue_script( 'mytheme_custom' );
    }

}
add_action( 'after_setup_theme', 'mytheme_custom_scripts' );

2) Sie müssen die Registrierung von Core-jQuery aufheben und anschließend Ihre minimierte Version registrieren und in die Warteschlange einreihen. Beispiel:

function mytheme_minified_jquery() {

    if ( ! is_admin() ) {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js' );  
        wp_enqueue_script( 'jquery' );
    }

}
add_action( 'init', 'mytheme_minified_jquery', 1000 );

Beachten Sie, dass beide eine if ( ! is_admin() )-Bedingung enthalten. Sie möchten nicht mit den Skripten herumspielen, die in der Admin-Benutzeroberfläche geladen werden.

In meinem Beispiel wird auch Google für die minimierte jQuery-Version verwendet. Wenn Sie Ihre eigene gebündelte Version verwenden möchten, fügen Sie stattdessen den SRC zu wp_register_script() hinzu.

2
Chip Bennett

Mehrere Probleme hier:

  • einschließlich der externen Version von jQuery ohne die Registrierung der mit WP gebündelten Version aufzuheben;
  • falsche wp_enqueue_script() Verwendung (falsche Argumente);
  • echoing script yourslef;
  • verwenden der Vorlagendatei für all dies.

Ein grundlegendes Beispiel dafür, wie man es besser macht, wäre etwa das Folgende in functions.php des Themas:

add_action( 'wp_enqueue_scripts', 'custom_script' );

function custom_script() {

    wp_enqueue_script('custom','/wp-content/themes/mytheme/js/custom.js',array('jquery'));
}
1
Rarst