Skript auf jeder Seite mit Ausnahme von einem Skript einfügen

Ich möchte mein Javascript laden und 1 Seite ausschließen, also habe ich Folgendes ohne Erfolg versucht:

function mypage_scripts() { if ( !is_admin() ) { wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js', true, '1.6.2', false); wp_enqueue_script('jquery'); /* My Script */ if ( !is_page('contact') ) { wp_enqueue_script('myscript', get_bloginfo('template_url') . '/js/myscript.js', array('jquery'), '1.1', false); } } } add_action( 'wp_print_scripts', 'mypage_scripts'); 

Das Ergebnis ist, dass das Skript auf jeder Seite mit Ausnahme von Admin geladen wird (wie erwartet), es aber nicht schafft, die Seite “Kontakt” nicht zu laden.

Irgendwelche Ideen?

Natürlich kann ich alle Seiten auflisten, die ich laden möchte, aber da die Seite in Zukunft mehr Seiten haben wird, möchte ich die functions.php-Datei nicht jedes Mal ändern, wenn eine neue erstellt wird.

Vielen Dank.

Solutions Collecting From Web of "Skript auf jeder Seite mit Ausnahme von einem Skript einfügen"

Versuchen Sie, Ihrer function ihre eigenen Parameter zu geben, und führen Sie einen template_redirect aus, etwa so:

 < ?php function mypage_scripts() { if ( !is_admin() ) { wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js', true, '1.6.2', false); wp_enqueue_script('jquery'); /* My Script */ function contact_form_script() { if ( !is_page('contact') ) { wp_enqueue_script('myscript', get_bloginfo('template_url') . '/js/myscript.js', array('jquery'), '1.1', false); } } add_action( 'template_redirect', 'contact_form_script' ); } add_action( 'wp_print_scripts', 'mypage_scripts'); } ?> 

Ich habe das nicht überprüft, aber ich glaube, es wird funktionieren.

Ich habe das auf einem meiner Themen überprüft und es hat funktioniert:

 < ?php function mypage_scripts() { if ( !is_admin() ){ wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js', true, '1.6.2', false); wp_enqueue_script('jquery'); } add_action( 'wp_print_scripts', 'mypage_scripts'); } function contact_form_script() { if ( !is_page('contact') ) { wp_enqueue_script('myscript', get_bloginfo('template_url') . '/js/myscript.js', array('jquery'), '1.1', false); } } add_action( 'template_redirect', 'contact_form_script' ); ?> 

HINWEIS: Die einzige Sache, die ich bei meinem Test anders gemacht habe, ist, dass ich die Google-Skripte nicht verwendet habe. Vielleicht gibt dir das das Problem?