anderes Stylesheet für nur eine Seitenvorlage

Ich benutze Site / Page Builder seit so langer Zeit in WP, dass ich OOTL bin mit dem aktuellen Setup von Templates, Stylesheets und functionen in den neueren WP Builds.

Ich habe ein älteres Thema, für das ich eine einzigartige Seite erstellen muss, und ich habe Mühe zu verstehen, wie man ein bestimmtes Stylesheet für diese Seitenvorlage verwendet. Wenn die Seitenvorlage reference.php ist und ich die Kopf- und Fußzeile in die Vorlage eingefügt habe (so dass ich einzigartige Elemente im Vergleich zur Hauptseite verwenden kann), kann ich sehen, dass die Kopfzeile die Datei mit .

Was ist der beste Weg für diese Seite, die Mehrheit der übergeordneten und untergeordneten Designs zu verwenden, sondern nur meine spezifischen Designs für diese Seite zu bearbeiten?

Soll <link rel="stylesheet" type="text/css" href="/referral-style.css"> oder wird eine functionsdatei im Kind erstellt <link rel="stylesheet" type="text/css" href="/referral-style.css"> Thema Verzeichnis und verwenden Sie etwas wie:

  <?php function themeslug_enqueue_style() { if( is_page( 'referral' ) ) { // Only add this style onto the Blog page. wp_enqueue_style( 'referral-style', get_stylesheet_uri() ); } if ( is_child_theme() ) { // load parent stylesheet first if this is a child theme wp_enqueue_style( 'parent-stylesheet', trailingslashit( get_template_directory_uri() ) . 'style.css', false ); } // load active theme stylesheet in both cases wp_enqueue_style( 'theme-stylesheet', get_stylesheet_uri(), false ); } add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' ); 

Solutions Collecting From Web of "anderes Stylesheet für nur eine Seitenvorlage"

Der bevorzugte Weg ist die Verwendung von add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' ); innerhalb Ihrer Child Theme functions.php Datei oder direkt in Ihrer referral.php Template Seite. So oder so, es ist mit add_action und nicht durch Echo in das -Tag.

Es empfiehlt sich auch, deinen Stil zu registrieren. Der einzige Vorteil, den ich in Ihrem Fall sehen würde, wäre, dass Sie alle Ihre Styles in Ihrer functions.php mit für jede Datei ihre Abhängigkeiten registrieren könnten, dann müssten Sie nur einen Handle in Ihre Referral-Seite einreihen und WP würde alle anderen registrierten Dateien laden als Abhängigkeiten von Ihrer referral-style.css .

Zum Beispiel in functions.php

 function themeslug_enqueue_style() { wp_register_style( 'referral-style', get_stylesheet_directory_uri() . 'path/to/your/css-file', array( 'theme-stylesheet' ) ); wp_register_style( 'theme-stylesheet', get_stylesheet_uri() ); // load active theme stylesheet in all cases wp_enqueue_style( 'theme-stylesheet' ); } add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' ); 

und in referral.php

 function my_referral_enqueue_style() { wp_enqueue_style( 'referral-style' ); // will load theme-stylesheet automatically } add_action( 'wp_enqueue_scripts', 'my_referral_enqueue_style' ); 

Natürlich können Sie das in referral.php auslassen und in Ihrer functions.php noch eine Bedingung hinzufügen

 if( is_page( 'referral' ) ) { wp_enqueue_style( 'referral-style' ); } 

Aber ich wollte dir beide Wege zeigen

Wenn Sie einige Skripts oder Stile nicht häufig verwenden müssen, ist es besser, sie vor dem enqueue zu registrieren. Es ist irgendwie WordPress, dass “Bitte registrieren Sie diese Skripte und Stil, ich werde sie später brauchen.” –

 < ?php // Exit if accessed directly if ( !defined( 'ABSPATH' ) ) { exit; } ?> < ?php function themeslug_enqueue_style() { wp_register_style( 'referral-style', get_stylesheet_uri() ); wp_register_style( 'parent-stylesheet', trailingslashit( get_template_directory_uri() ) . 'style.css', false ); if( is_page( 'referral' ) ) { // Only add this style onto the Blog page. wp_enqueue_style( 'referral-style' ); } if ( is_child_theme() ) { // load parent stylesheet first if this is a child theme wp_enqueue_style( 'parent-stylesheet' ); } // load active theme stylesheet in both cases wp_enqueue_style( 'theme-stylesheet', get_stylesheet_uri(), false ); } add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );