在类中将脚本入队

时间:2011-06-29 作者:SpyrosP

我已经编写了一个小类来处理我主题中的排队问题:

<?php

class Header {

    public function init_hooks()
    {
        add_action(\'wp_print_scripts\', array(__CLASS__,\'include_all_files\'));
    }

    public function include_css_files()
    {
        wp_register_script(\'style.css\', get_bloginfo(\'stylesheet_url\'));
        wp_enqueue_script(\'style.css\');
    }

    public function include_js_files()
    {
        wp_register_script(\'jquery-min\', "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
        wp_enqueue_script(\'jquery-min\');        
    }

    public function include_all_files()
    {
        $this->include_css_files();
        $this->include_js_files();
    }

}

?>
在关闭head标签之前,我会这样称呼它,比如:

$header = new Header();
$header->init_hooks(); 
但它不起作用。没有错误,但未添加脚本。有什么想法吗?

1 个回复
最合适的回答,由SO网友:Hameedullah Khan 整理而成

你的意思是在关闭HTML标记之前调用类?现在让脚本排队已经太晚了。

不要卷入wp_print_scripts 将脚本和样式排队。我只是learned 这是今天来自Rarst的。

因此,将init\\u hooks函数更改为如下内容:

public function init_hooks()
{
    add_action(\'wp_enqueue_scripts\', array(__CLASS__,\'include_all_files\'));
}
此外,您正在使用wp_register_scriptwp_enqueue_script Wordpress有单独的函数来排列样式wp_register_stylewp_enqueue_style. 你的include_css_files 应如下所示:

public function include_css_files()
{
    // NOTE: you don\'t really have to use the filename as style slug.
    wp_register_style(\'my_style\', get_bloginfo(\'stylesheet_url\'));
    wp_enqueue_style(\'my_style\');
}
现在介绍如何实例化类并调用init\\u挂钩。您可以将其直接放在函数中。或者可以使用init操作实例化类。

结束

相关推荐