Enqueue a folha de estilos, dependendo do modelo

Estou tentando enque stylesheet dependendo do modelo, mas desnecessariamente meu código não está funcionando. O que estou fazendo errado?

if ( is_page_template('single-location.php')) { function themename_include_page_specific_css() { wp_enqueue_style('paralax_style', get_template_directory_uri().'/paralax.css'); } add_action('wp_enqueue_scripts', 'paralax_style'); } 

Eu tentei também com aquele, mas ainda nada.

  function load_theme_files() { if (is_page_template('single-location.php')) { wp_enqueue_style('paralax_style', esc_url( get_template_directory_uri() ).'/paralax.css'); } } add_action('wp_enqueue_scripts', 'load_theme_files'); 

Solutions Collecting From Web of "Enqueue a folha de estilos, dependendo do modelo"

Você precisa primeiro registrar o estilo e, em seguida, en-fila-lo! Isso pode funcionar!

 function custom_style_method() { wp_register_style( 'paralax_style', get_template_directory_uri().'/paralax.css' ); } add_action('wp_enqueue_scripts', 'custom_style_method'); add_filter( 'template_include', 'themename_include_page_specific_css', 1000 ); function themename_include_page_specific_css( $template ){ if ( is_page_template('single-location.php' ) ) { wp_enqueue_style( 'paralax_style' ); } return $template; } 

Experimente colocar este código em sua function, onde você encaue seus outros scripts e estilos e deve funcionar.

 wp_register_style( 'template-style', get_stylesheet_directory_uri().'/templates/css/template.css', array(), '', true ); if ( is_page_template( 'template-name.php' ) ) { wp_enqueue_style( 'template-style' ); } 

single-location.php nomeação de single-$posttype.php single-location.php para um modelo de página é uma escolha muito fraca, uma vez que entra em conflito com a hierarquia do modelo de página padrão single-$posttype.php .

Então, eu encorajaria você a mudar o nome para algo como tem-location.php , então o código a seguir funcionará, também tome uma nota no manipulador de enqueue porque isso também não deve entrar em conflito com outras pessoas (quero dizer, se você já possui um script / estilo emqueued com handle paralar-style então, mesmo que você enqueue o script / estilo com o mesmo identificador não funcionará.

Certifique-se também de que a localização do seu modelo está correta, por exemplo, se você colocar tem-location.php na pasta de page-templates então você deve verificar se page-templates\tem-location.php .

 function wpse245126_load_theme_files() { if (is_page_template('tem-location.php')) { wp_enqueue_style('tem-location-style', esc_url( get_template_directory_uri() ).'/paralax.css'); } } add_action('wp_enqueue_scripts', 'wpse245126_load_theme_files'); 

Você pode usar esse filtro, filtrar estilos com qualquer condição ou seqüência href de saída alternativa em certos modelos, exemplo:

 add_filter( 'style_loader_src', function($href){ if(strpos($href, "name-of-allowed.css") !== false) { return $href; } return false; });