我正在尝试通过jQuery对functions.php文件进行排队,但它似乎不起作用。
我知道这个脚本可以工作,因为如果我把它放在.php文件的底部,放在<script>...</script>中,它就能正常工作。
该文件已被称为jargon.js
我在functions.php中调用了该文件,使用:
add_action('wp_enqueue_scripts','asap_scripts');
// Register your assets during `wp_enqueue_scripts` hook inside
`functions.php`.
function asap_scripts() {
// Give the path of the script
wp_register_script('js-jargon', get_stylesheet_directory_uri() .
'/js/jargon.js',array('jquery'));
}我正在使用jQuery,我的JS代码如下:
function toggleAnswer() {
jQuery(this).next('.jargon-desc').slideToggle();
}
jQuery('.jargon-desc').hide();
jQuery('.jargon-header').click(toggleAnswer);任何帮助都会很好。我用同样的方法调用了其他脚本,效果很好。但我好像对这件事有意见..?
发布于 2019-01-01 00:05:52
首先,请在问题中包括JS,以及从控制台或php、日志等获得的错误( not working不是一种描述)。)
不管怎么说--
看起来您正在注册的脚本句柄,而不是真正的enqeuing .
<?php
function asap_scripts() {
wp_register_script('my_amazing_script_handle', get_stylesheet_directory_uri() .
'/js/jargon.js', __FILE__), array('jquery'),'1.1', true);
wp_enqueue_script('my_amazing_script_handle');
}
add_action( 'wp_enqueue_scripts', 'asap_scripts' );
?>如您所见,wp_register_script()只注册句柄,然后wp_enqueue_script()实际上是根据已注册句柄触发包含的。
至于其他可能的罪魁祸首,作为调试的经验规则(因为OP中缺少信息):
尝试将以下三个要点结合起来进行调试:
如果您使用jQuery -然后指定jQuery('el')而不是$('el')
就像这样:
wp_enqueue_script( 'my-script-handler-js',
plugins_url( '/src/my-script.js', dirname( __FILE__ ) ),
array( 'jquery' ),
filemtime( plugin_dir_path( __FILE__ ) . '/src/my-script.js' ),
,'ver', TRUE );jQuery(document).ready(function ($) { ... });射击发布于 2019-01-01 00:56:52
@ObmerkKronen感谢您的帮助。
我做了一个简单的改变:
‘`function ASAP_scripts() {wp_register_script(’js-专业术语‘,get_stylesheet_directory_uri()。'/js/jargon.js',数组(‘jquery’),'1.1',真);wp_enqueue_script(‘js-行话’);}
add_action( 'wp_enqueue_scripts', 'ASAP_scripts' ); `效果很好。再次感谢
https://stackoverflow.com/questions/53992188
复制相似问题