我正在关注关于在 Wordpress 中使用自定义帖子类型构建 jQuery Accordion 的教程,除了返回以下错误的实际 Accordion 之外,一切正常:
Uncaught TypeError: Object [object Object] has no method 'accordion'
根据谷歌搜索时发现的建议,我在 header.php 中注释掉了硬编码的 jQuery 调用,并且 jQuery 在functions.php 中加载如下:
if ( !is_admin() ) {
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false);
wp_enqueue_script('jquery');
}
该代码生成以下 html:
<div id="#wptuts-accordion">
<h3><a href="">Testimonial 1</a></h3>
<div><p>This is testimonial Text</p></div>
<h3><a href="">Testimonial 2</a></h3>
<div><p>This is testimonial 2</p>
</div>
导致错误的jQuery代码如下:
jQuery(document).ready(function() {
jQuery("#wptuts-accordion").accordion();
});
教程代码还包括以下内容,我假设只是下载了 jQuery css 并注册了脚本,但我想知道这是否是问题所在
add_action( 'wp_enqueue_scripts', 'wptuts_enqueue' );
function wptuts_enqueue() {
wp_register_style('wptuts-jquery-ui-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/themes/south-street/jquery-ui.css');
wp_enqueue_style('wptuts-jquery-ui-style');
wp_register_script('wptuts-custom-js', get_template_directory_uri() . '/testimonials/testimonials.js', 'jquery-ui-accordion', '', true);
wp_enqueue_script('wptuts-custom-js');
}
jQuery 似乎只在页面上加载一次。
有什么想法可以解决这个问题吗?