我需要了解一下以下问题?我创建了一个名为“test\\u child”的子主题,我正试图通过以下方式扩展它:
这是test\\u子/函数。php文件:
<?php
function load_flaticon() {
wp_enqueue_script(
\'flaticon\', get_stylesheet_directory_uri() . \'/js/flaticon.js\', array(\'jquery\')
);
}
add_action( \'wp_enqueue_script\', \'load_flaticon\' );
?>
然后,这是test\\u child/js/flaticon。js文件:
jQuery(document).ready(function($) {
$("a[href$=\'.pdf\']").addClass(\'flaticon-pdf19\');
$("a[href$=\'.ppt\']").addClass(\'flaticon-ppt\');
$("a[href$=\'.pptx\']").addClass(\'flaticon-pptx2\');
$("a[href$=\'.doc\']").addClass(\'flaticon-doc2\');
$("a[href$=\'.docx\']").addClass(\'flaticon-docx\');
$("a[href$=\'.xls\']").addClass(\'flaticon-xls1\');
$("a[href$=\'.xlsx\']").addClass(\'flaticon-xlsx\');
});
// by the way have already tried the " .ready(function() { " version
在test\\u子级/头中。php我可以看到行的某个地方:
<!-- wp_head() -->
<?php wp_head();?>
我相信我是在“照本宣科”(我还研究了其他类似的问题),但我还是错过了一些东西,因为脚本毕竟没有排队。。。
请你换一双新眼睛好吗?
最合适的回答,由SO网友:fuxia 整理而成
我想回答的问题有两个部分:
它不起作用,因为动作使用复数形式:wp_enqueue_scripts
, 不wp_enqueue_script
. 我猜是这样的,因为这里必须使用的函数——wp_enqueue_script()
– 是否使用单数。
您不应该使用该功能wp_enqueue_script()
有这么多参数。
Register 您的脚本很早,enqueue 他们迟到了。
function register_flaticon() {
wp_register_script(
\'flaticon\',
get_stylesheet_directory_uri() . \'/js/flaticon.js\',
array(\'jquery\')
);
}
function enqueue_flaticon() {
wp_enqueue_script( \'flaticon\' );
}
add_action( \'wp_loaded\', \'register_flaticon\' );
add_action( \'wp_enqueue_scripts\', \'enqueue_flaticon\' );
原因是灵活性。有
four 排队操作:
wp_enqueue_scripts
admin_enqueue_scripts
customize_controls_enqueue_scripts
login_enqueue_scripts
如果您足够早地注册脚本,您或其他人可以将其排队,然后执行其他操作之一,以及
collisions can be avoided, 因为WordPress不会两次注册具有相同句柄的脚本。另请参见关于
naming convention for jQuery addons.