在Wordpress中使用钩子jQuery脚本的正确方法

时间:2014-09-22 15:11:06

标签: php jquery wordpress

我有一个Wordpress网站并且有一个我想要链接的.js文件,所以我可以调用脚本。经过大量研究,我发现必须在functions.php中使用钩子。我尝试了各种各样的变化,但无法获得正式的工作方法,但我找到了一种方法可行,但在此过程中只是打破了网站的其余部分。

我做错了什么?我知道get_stylesheet_directory_uri()& get_template_directory_uri()与父母和儿童主题的差异,但似乎没有任何区别。

这里的官员'不起作用的方式:

function add_jquery_script() {
  wp_enqueue_script(
    'my-script', // name your script so that you can attach other scripts and de-register, etc.
     get_stylesheet_directory_uri() . 'http://<site>.com/wp-content/themes/dt-the7/custom-scripts.js', // this is the location of your script file
     array('jquery') // this array lists the scripts upon which your script depends
  );
}

根本不推荐&#39;有效的方式,但打破网站的其余部分:

function add_jquery_script() {
    echo '<script type="text/javascript" src="http://<site>/wp-content/themes/dt-the7/custom-scripts.js"></script>' . "\n";
}
add_action('wp_head', 'add_jquery_script');

一如既往,任何帮助都非常感激。谢谢你们

更新

在回显get_stylesheet_directory_uri()之后,我可以看到我的网址需要是相对的,现在应该如下,但它仍然不起作用。

function add_jquery_script() {
  wp_enqueue_script(
    'my-script', // name your script so that you can attach other scripts and de-register, etc.
     get_stylesheet_directory_uri() . '/custom-scripts.js', // this is the location of your script file
     array('jquery') // this array lists the scripts upon which your script depends
  );
}

1 个答案:

答案 0 :(得分:2)

PHP

你需要调用函数add_jquery_script();才可以输出任何东西 - 非常简单,容易被遗忘。

JQuery的

由于引用错误,脚本破坏了您的代码,var price定义应该在函数内移动,因此它位于函数的scope中。 http://learn.jquery.com/javascript-101/scope/

$(document).ready(function () {
    refresh();
    $('#bittrex-price').load(bittrexPrice);
});

function refresh() {
    var price = "[domain hidden]/realtime/bittrex-realtime.php";
    setTimeout(function (price) {
        $('#bittrex-price').fadeOut('slow').load(price, params).fadeIn('slow');
        $('#bittrex-vol').fadeOut('slow').load(price, params2).fadeIn('fast');
        refresh();
    }, 1000);
}