我通过连接到wp_enqueue_scripts()添加了一个javascript文件。代码如下:
function order_tracking() {
global $post;
if ( $post->ID == 19851 ) {
wp_enqueue_script(\'ordertracking\', get_template_directory_uri(), array(\'jquery\') ,\'1.0\', true );
}
}
add_action( \'wp_enqueue_scripts\', \'order_tracking\' );
javascript文件包含一个简单的代码:
/**
* test javascript function
*/
jQuery(document).ready(function() {
console.log(\'loaded\');
jQuery("#ordertrackingsubmit").on("click", function (e) {
var quotenum = jQuery("#quotenum").val();
console.log(quotenum);
});
});
但我看到了错误。在Google Chrome控制台上,它显示以下内容:
Uncaught SyntaxError: Unexpected token \'<\' ?ver=1.0:1
在sources选项卡中,它显示以下内容:
<br />
<b>Fatal error</b>: Uncaught Error: Call to undefined function genesis() in /home/skirting/public_html/alcocovers.com/wp-content/themes/genesis/index.php:15
Stack trace:
#0 {main}
thrown in <b>/home/skirting/public_html/alcocovers.com/wp-content/themes/genesis/index.php</b> on line <b>15</b><br />
有人能告诉我我做错了什么吗?当我将代码直接添加到
footer.php
代码起作用。
最合适的回答,由SO网友:Danish Muneer 整理而成
我使用的是genesis儿童主题,因此必须编辑我的order_tracking()
有点功能。get_template_directory_uri()
将URL提供给当前child 主题,并将其与javascript文件名相结合,就成功了。
以下是它的工作原理:
function order_tracking() {
global $post;
if ( $post->ID == 19851 ) {
wp_enqueue_script(\'ordertracking\', get_template_directory_uri(). "/ordertracking.js", array(\'jquery\') ,\'1.0\', true );
}
}
add_action( \'wp_enqueue_scripts\', \'order_tracking\' );