2016-09-24 3 views
1

Я использую эту функцию для того, чтобы загрузить JQuery и мой собственный сценарий:Wordpress внешний скрипт не работает

function.php

if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11); 
function my_jquery_enqueue() { 
    wp_deregister_script('jquery'); 
    wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null); 
    wp_enqueue_script('jquery'); 

    // Register and Enqueue a Script 
    // get_stylesheet_directory_uri will look up child theme location 
    wp_register_script('FormScript', get_stylesheet_directory_uri() . '/FormScript.js'); 
    wp_enqueue_script('FormScript'); 
} 

Это фрагмент моего пользовательского сценария:

if (typeof jQuery == 'undefined') { 
    // jQuery is not loaded 
    alert("false"); 
} else { 
    // jQuery is loaded 
    alert("true"); 
} 

$(document).ready(function() { 

    $("#Main").hide(); 
    $("#Angehoerigkeit").hide(); 
    $("#Alter").hide(); 
    $("#Image").hide(); 

    ... 
} 

Эти div находятся только на одном сайте в wordpress. jQuery загружен успешно, но div не скрываются. Есть идеи? Большое спасибо.

ответ

2

Во-первых, вы не должны быть разрегистрации JQuery, или загрузить его, вы должны просто добавить это зависимость для вашего сценария, и Wordpress будет заботиться о покое

if (!is_admin()) { 
    add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11); 
} 

function my_jquery_enqueue() { 
    wp_register_script('FormScript', get_stylesheet_directory_uri() . '/FormScript.js', array('jquery')); 
    wp_enqueue_script('FormScript'); 
} 

во-вторых, JQuery работает в noConflict режим в Wordpress

jQuery(document).ready(function($) { 

    $("#Main").hide(); 
    $("#Angehoerigkeit").hide(); 
    $("#Alter").hide(); 
    $("#Image").hide(); 

}); 
+0

работал, спасибо большое! – Anokrize

Смежные вопросы