JQuery脚本未在子主题中排队

时间:2014-05-02 作者:Mpampirina

我需要了解一下以下问题?我创建了一个名为“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();?>
我相信我是在“照本宣科”(我还研究了其他类似的问题),但我还是错过了一些东西,因为脚本毕竟没有排队。。。

请你换一双新眼睛好吗?

2 个回复
最合适的回答,由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.

SO网友:Prashant Jain

get_stylesheet_directory_uri() 将打开当前子主题目录uri,因此,它不会获取指定的文件,因为它是子主题

要获取文件,请使用get_template_directory_uri() 要获取目录路径,这将获取您在样式中指定的模板目录。css,即

Template:your_parent_theme_folder_name

结束

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c