web-dev-qa-db-ja.com

フッターにCSSをロードする方法

私は私のwordpressテーマのフッターに私のstyle.cssの負荷を移動しようとしていました。私はすでに2 jsファイルで似たようなことをしました、そして、それはうまく働きます、彼らはフッターにロードします:

function my_init() {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://www.studionews24.com/wp-content/themes/network/js/jquery.min.js', false, '1.3.2', true);
        wp_enqueue_script('jquery');

        // load a JS file from my theme: js/theme.js
        wp_enqueue_script('my_script', 'http://www.studionews24.com/wp-content/themes/network/js/menu-resp.js', array('jquery'), '1.0', true);
    }
}
add_action('init', 'my_init');

今、私はフッターにもstyle.cssを移動しようとしていた、とタグ内のいくつかのインラインCSSのルールだけを維持します。 wp_enqueue_styleを試してみましたが、うまくいかないようです。

誰かがスマートな解決策を見つけるのを手伝ってくれる?

11
Giulio Bambini

実際には、すべてのスタイルをヘッダーに配置する必要があります。そのため、WordPressではwp_enqueue_style関数にこれを行うためのパラメータがありません。これは、伝統的にすべてのスタイルがheadに追加されたためです。最近では、他のスタイルがフッターにロードされている間、多くのサイトが重要な "折りたたみの上の"スタイルがヘッドにロードされるシステムに移行しました。

だからここにこれを行う方法があります:あなたはフッターで呼び出されるprint_late_styles()関数を使用することができます。 headerがすでに渡されているときは、スタイルをエンキューするだけです。

そのため、各ページでwp_headフックの後に呼び出されるフックを見つける必要があります。例えばget_footerは1になります。

function prefix_add_footer_styles() {
    wp_enqueue_style( 'your-style-id', get_template_directory_uri() . '/stylesheets/somestyle.css' );
};
add_action( 'get_footer', 'prefix_add_footer_styles' );
24
Emetrop