Enqueue scripts inside a class

You mean you call your class right before closing HTML tag? It is too late to enqueue scripts then.

Don’t hook into wp_print_scripts to enqueue your scripts and styles. I just learned this today from Rarst.

So change your init_hooks function to something like following:

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

Also you are using wp_register_script and wp_enqueue_script functions to enqueue your styles, WordPress has separate functions to enqueue your styles wp_register_style and wp_enqueue_style. Your include_css_files should look like:

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');
}

Now about instantiating your class and calling init_hooks. You can either place it directly inside your functions.php, or you can use the init action to instantiate your class.

Leave a Comment