Enqueue Stylesheet je nach Vorlage

Ich versuche, Stylesheet abhängig von Vorlage zu enqueren, aber unglücklicherweise funktioniert mein Code nicht. Was mache ich falsch?

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

Ich habe es auch versucht, aber immer noch nichts.

  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 Stylesheet je nach Vorlage"

Sie müssen zuerst den Style registrieren und ihn dann in die Warteschlange stellen! Dies könnte funktionieren!

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

Versuchen Sie, diesen Code in Ihre function einzufügen, in der Sie Ihre anderen Skripts und Stile in die Warteschlange stellen, und es sollte funktionieren.

 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 Benennung für eine Seitenvorlage ist sehr schlecht, da sie mit der standardmäßigen Seitenvorlagenhierarchie single-$posttype.php .

Also würde ich dich ermutigen, den Namen in etwas wie tem-location.php zu ändern, dann wird der folgende Code funktionieren, bitte nimm auch eine Notiz im Enqueue-Handler, weil das auch nicht mit anderen kollidieren sollte (ich meine, wenn du bereits ein Skript hast) / Stil mit paralar-style Handle paralar-style dann auch wenn Sie das Skript / Stil mit dem gleichen Griff in die Warteschlange stellen wird nicht funktionieren.

Stellen Sie außerdem sicher, dass der Speicherort Ihrer Vorlage korrekt ist. Wenn Sie beispielsweise die tem-location.php im Ordner page-templates , sollten Sie nach 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'); 

Sie können diesen Filter verwenden, um Stile mit einer beliebigen Bedingung auszublenden, oder eine alternative Ausgabe-href-Zeichenfolge für bestimmte Vorlagen. Beispiel:

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