为什么我不能将Front.css添加到我的FrontPagee.php中

时间:2017-01-06 作者:user110362

我在函数中的函数。php

function adding_front_style(){
  if(is_front_page()){
  wp_enqueue_style(\'front\',get_template_directory_uri().\'/css/front.css\');
}else{
  //some code
}
}
add_action(\'init\',\'adding_front_style\');
我的头版。php

<?php get_header(); ?>
<div class = "search">
  <?php get_search_form() ?>
</div>
我的前面。css

  .search{
  background-color: blue; 
}

3 个回复
最合适的回答,由SO网友:Yuvrajsinh Jhala 整理而成

钩子选择错误,Init 钩子在WordPress完成加载后激发,所以您的想法是正确的。但是wp_enqueue_scripts 加载JavaScript和CSS需要钩子。

更换管路add_action(\'init\',\'adding_front_style\'); 具有add_action(\'wp_enqueue_scripts\',\'adding_front_style\');

SO网友:Tunji

您使用了错误的操作来添加脚本,您应该使用wp_enqueue_scripts 钩子代替init

function adding_front_style() {
    if( is_front_page() ) {
        wp_enqueue_style( \'front\', get_template_directory_uri().\'/css/front.css\');
    } else {
        //some code
    }
}
add_action(\'wp_enqueue_scripts\',\'adding_front_style\');

SO网友:stevenkellow

您需要使用wp\\u enqueue\\u脚本,而不是将排队挂接到“init”。

function adding_front_style(){
  if(is_front_page()){
     wp_enqueue_style(\'front\',get_template_directory_uri().\'/css/front.css\');
  } else {
   //some code
  }
}
add_action(\'wp_enqueue_scripts\',\'adding_front_style\');
还值得注意的是,如果您使用的是子主题,那么最好使用get\\u stylesheet\\u directory\\u uri()而不是get\\u template\\u directory\\u uri(),因为对于后者,您的子主题不会覆盖父主题中的任何样式。

相关推荐

通过主题定制器编辑style.css

直到现在,在我的Wordpress主题中,我在主题定制器中实现了一些必要的样式选项,这些选项将编辑CSS并通过将CSS输出到头部内部来覆盖它<style> 标记,例如,这里我实现了颜色选择器,如果默认状态发生更改,我会输出样式:function dc_get_gradient_colors() { $first_color = get_theme_mod( \'primary_color_1\' ); if ( $link_color != \'#0