Wie richte ich ein Child-Theme ein, ohne @import zu verwenden?

Ich habe @import immer für das css in meinem Kind-Thema verwendet, das mir jetzt gesagt wird, ist schlechte Praxis.

Was ist der beste Weg, ein Kind-Thema in Zukunft zu erstellen? Die neueste Lösung auf dem WordPress-Codex scheint wirklich komplex / sehr verwirrend?

Es muss einen Weg geben, eine relativ einfache Enqueue in den functionen meines Kind-Themes zu machen.php sicher?

Jede Hilfe wäre großartig. Ich fühle mich völlig verloren / nutzlos, wenn ich versuche, irgendwelche prägnanten Informationen dazu zu finden.

Emily

Solutions Collecting From Web of "Wie richte ich ein Child-Theme ein, ohne @import zu verwenden?"

Der Code, der im Codex steht, um den Stil des übergeordneten Themas in die @import , anstatt @import , ist nicht gut kommentiert, also werde ich ihn mehr kommentieren, also haben Sie @import :

 < ?php function my_theme_enqueue_styles() { $parent_style = 'parent-style'; wp_enqueue_style($parent_style, get_template_directory_uri() . '/style.css'); wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array($parent_style), wp_get_theme()->get('Version') ); } add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles'); ?> 

1.- Linie:

 $parent_style = 'parent-style'; 

Das ist buchstäblich ein String-Name, den Sie dem Style-Stylesheet geben, es ist das $handle des Stylesheets, das Sie einreihen, es kann das sein, was Sie wollen, zum Beispiel 'divi-style' im HTML Format wie die ID wie

2.- Linie:

 wp_enqueue_style($parent_style, get_template_directory_uri() . '/style.css'); 

Wenn das Stylesheet registriert und in die Warteschlange gestellt wird, wird es bei der Registrierung den Namen des ersten Parameters verwenden. In diesem Fall wird es 'parent-style' , und es wird get_template_directory_uri() , um den Pfad zum parent theme get_template_directory_uri() zu erhalten.

3.- Linie:

 wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array($parent_style), wp_get_theme()->get('Version') ); 

Dies ist die Registrierung und Einreihung des Child-Theme-Stylesheets (das aktuelle Theme-Stylesheet). Dies ist die übliche Prozedur für ein Theme, wobei jeder Parameter hier bereits erläutert wurde.

  • 'child-style' - das ist der Name dieses Stylesheets, das $handle

  • get_stylesheet_directory_uri() . '/style.css' get_stylesheet_directory_uri() . '/style.css' - das ist der Pfad zur Stylesheet-Datei.

  • array($parent_style) - dies ist das Array von Stylesheets, die wir ausführen müssen, bevor unser Stylesheet ausgeführt wird. Wir können keine tatsächlichen Pfade array($parent_style) , deshalb benennen wir sie mit einem $handle . In diesem Fall müssen wir das übergeordnete Stylesheet zuerst ausführen eine Abhängigkeit)

  • wp_get_theme()->get('Version') - dies ist die Versionsnummer, die am Ende der Stylesheet- URL wie diese /style.css?ver=1.0 , dies ist für Cache-Zwecke, der Standard ist der, den du aktualisierst die Version also die neueste Datei geladen wird und nicht eine zwischengespeicherte Version, willst du diese Nummer nicht in allen Dateien ändern, wo du sie richtig verwendest? also benutze wp_get_theme()->get('Version') es wird die Version erhalten, die sich in deiner style.css Datei befindet (nicht die übergeordnete).

Wenn du also die wiederaufgenommene Version haben willst, wird es so aussehen:

 < ?php function my_theme_enqueue_styles() { //load the parent stylesheet wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); //load the child stylesheet but after the parent stylesheet wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'parent-style' )); } add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); ?> 

Ich denke, das ist der spezielle Code, nach dem Sie suchen. Dies finden Sie im WordPress-Codex, wie Sie ein Child-Theme erstellen

 < ?php function my_theme_enqueue_styles() { // This is the parent style handle name. Recommended to leave as it is. $parent_style = 'parent-style'; wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version') ); } add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); ?> 

Dank geht an WordPress Codex.