Enqueue script in header

时间:2016-02-01 作者:Lody Aeckerlin

我在将脚本排入标题队列时遇到问题。我正在Wordpress网站上工作,页面内容通过AJAX加载。为此,我必须使用AJAX调用将脚本排队。我使用以下代码执行此操作:

function ajax_enqueue_scripts() {
  $dir = plugins_url().\'/product-types\';
  global $post;
  if ( \'product\' === $post->post_type ) {    
    wp_enqueue_script( \'ajax-products\', $dir. \'/js/ajax.js\', __FILE__, array(\'jquery\'), \'1.2\',false );
    wp_localize_script( \'ajax-products\', \'ajaxfunction\', array(\'ajax_url\' => admin_url( \'admin-ajax.php\' )));
  }
}

add_action( \'wp_enqueue_scripts\', \'ajax_enqueue_scripts\' );
问题是它一直在页脚中加载JS文件。我有什么遗漏吗?

1 个回复
SO网友:fischi

你只是把你的论点排错了。将行更改为

wp_enqueue_script( \'ajax-products\', plugins_url( \'/js/ajax.js\', __FILE__ ), array(\'jquery\'), \'1.2\', false );
您可以使用plugins_url() 第二个参数为__FILE__ 要获取特定pluign的目录,请在第一个参数中传递脚本的相对位置。

其余的都很简单—依赖关系、版本和$in_footer. 当您又传递了一个参数时,我想WordPress认为您的版本(第五个参数)是true, 当您通过“1.2”时。但我对此不确定。

相关推荐

尝试在WordPress中实现AJAX注释,遇到WP错误

我试图在WordPress中为我的评论实现Ajax,使用this tutorial. 但我在将教程中的代码集成到自己的预构建主题时遇到了问题。问题是,我要么得到一个WP错误“检测到重复注释;看来你已经说过了!”或标准500错误。以下是我得到的:下面是我对ajax的评论。js文件如下所示: * Let\'s begin with validation functions */ jQuery.extend(jQuery.fn, { /* * check i