在Functions.php中正确地将首页的CSS-TEMPLATE_REDIRECT排队?

时间:2014-06-26 作者:MikeiLL

我想加载一些特定的css来更改WP首页/主页的主体元素的颜色。在我的主题函数文件中,以下代码似乎有效,但有人能告诉我它是否“正确”吗?

//Adding and Encuing styles for Front Page
add_action( \'template_redirect\', \'front_page_design\' );

function front_page_design(){
    if ( is_front_page() || is_home()) {
        add_action(\'wp_enqueue_scripts\', \'enqueue_index_styles\');
        function enqueue_index_styles() {
        wp_register_style( \'home_page_style\', get_stylesheet_directory_uri() . \'/index-style.css\' );
        wp_enqueue_style( \'home_page_style\' );
        }
    }
}
我遇到了一个blog by Mark Jaquith 说template\\u include是为了包含,这就是我正在做的,对吗?

2 个回复
最合适的回答,由SO网友:helgatheviking 整理而成

没有。使用wp_enqueue_scripts 直接钩住所有样式和脚本。没有必要插手template_include 为此。template_include 专门用于修改模板。

//Adding and Encuing styles for Front Page
add_action( \'wp_enqueue_scripts\', \'front_page_design\' );

function front_page_design(){
    if ( is_front_page() || is_home()) {
        wp_enqueue_style( \'home_page_style\', get_stylesheet_directory_uri() . \'/index-style.css\', array(\'handle_of_main_style\') );
    }
}
其中必须更改“name\\u of\\u main\\u style”,以匹配要加载“home\\u page\\u style”的样式表句柄。

SO网友:Pieter Goosen

将脚本和样式排入队列时should be using 这个wp_enqueue_scripts 动作挂钩,将脚本和样式挂钩到

wp_enqueue_scripts 是将要出现在前端的项目排队时使用的合适挂钩。尽管名称不同,但它用于将脚本和样式排队。

使用template_redirecttemplate_includes 完全错了。

最好的做法是,如果加载自己的脚本和样式,则最后加载它们,以确保您的脚本和样式不会被其他脚本和样式覆盖。要做到这一点,您必须设置$priority 中的参数add_action 非常低(非常高的数字)。我总是这样999

你要么这样做

function front_page_design(){
if ( is_front_page() || is_home()) {
    wp_register_style( \'home_page_style\', get_stylesheet_directory_uri() . \'/index-style.css\' );
    wp_enqueue_style( \'home_page_style\' );
    }
}
add_action(\'wp_enqueue_scripts\', \'front_page_design\', 999);
或者这个

function front_page_design(){
    wp_register_style( \'home_page_style\', get_stylesheet_directory_uri() . \'/index-style.css\' );
    if ( is_front_page() || is_home()) {
        wp_enqueue_style( \'home_page_style\' );
    }
}
add_action(\'wp_enqueue_scripts\', \'front_page_design\', 999);

结束

相关推荐