Alles korrekt, ergänzend noch ein paar besserwisserische Kommentare:
Es mag kleinkariert erscheinen, aber Fehler wie ein falscher Dateiname function.php sind nicht selten ein Anlass für stundenlange Fehlersuche. Deshalb gleich einprägen: das Template heißt functions.php (mit Plural-„s“, wie du es dann auch in deiner Frage richtig geschrieben hast – nur eben im Titel nicht).
Die Erstellung von Child-Themes ist im Web bestens dokumentiert, natürlich auch in der Dokumentation von WordPress: Child Themes
Die PHP-Regeln in der functions.php sorgen dafür, dass das Stylesheet des Parent Theme übernommen wird und gleichzeitig ein eigenes Stylesheet mit ergänzenden/abweichenden CSS-Regeln eingebunden wird. Die dafür verwendete (und übrigens auch bestens dokumentierte) Funktion
wp_enqueue_style(
string $handle, // Bezeichnung des eingebundenen Stylesheet
string $src = '',
string[] $deps = array(),
string|bool|null $ver = false,
string $media = 'all'
)
enthält als erstes Argument einen Handle, also einfach einen individuellen Bezeichner, den du z.B. dafür verwenden kannst, das Stylesheet unter bestimmten Dingen wieder rauszuwerfen. Ob der Bezeichner mein-theme-child-style, etwas sinnvoller generatepress-child oder ganz originell dem-child-theme-sein-style heißt, bleibt einzig deiner Phantasie überlassen.
Mein erster (ganz furchtbar schief gelaufener) Vortrag bei einem WordCamp handelte davon, dass man sich in den meisten Fällen ein Child-Theme sparen kann. Einerseits kannst du viel per CSS ändern, das du über ein Plugin einfügen, mit einem Code Snippet (mit Code Snippets) einbinden oder sogar im Customizer eintragen kannst. Andererseits bieten dir WordPress-Core und viele Themes Hooks an, Schnittstellen mit denen du bei Bedarf weitere Inhalte einbinden kannst. Wenn du wie bei GeneratePress im Footer-Template eine Funktion do_action( 'generate_footer' ); findest und gerne im Footer eigenen Inhalt unterbringen möchtest, reicht ein add_action( 'generate_footer', 'meine_footer_funktion' );, mit dem du dann eine eigene PHP-Funktion einbindest. Das ist auf jedenfall „weniger invasiv“ und damit auch wartungsärmer, als ein Child-Theme.
Das Problem bei Child Themes ist, dass du wahrscheinlich an einem Stichtag ein Template des Parent Theme in dein Child-Theme kopierst und dort Änderungen vornimmst, dann aber nicht weiter verfolgst, ob der Theme-Entwickler im Parent Theme an genau diesem Template eine Änderung vornimmt oder sogar eine Sicherheitslücke schließt (während du weiter das alte Template als Basis deines Child-Themes verwendest). Das Thema wurde bereits 2015 auf dem WordCamp Köln von Torsten Landsiedel vorgetragen und fand erstaunlich wenig Berücksichtigung.
Kurz: wenn es irgendwie geht, vermeide Child-Themes.
Und überhaupt … Mit Einführung der neuen Block-Themes scheinen Child-Themes auch aus der Mode zu kommen. Auch wenn das neue Feature „Full Site Editing“ noch etwas instabil ist und hier und da Nachbesserungen nötig sein werden, ist der Trend wohl, dass du in WordPress – ganz ohne Programmierkenntnisse, ohne eigene CSS-Regeln und ohne Hooks – im Theme-Editor globale Stil-Änderungen vornimmst und die Templates so mit Blöcken ergänzen kannst, wie du magst. Das geht dann völlig ohne Child-Themes und verringert den ganzen Aufwand, der bisher betrieben wurde, ganz erheblich. Auch die Entwickler des Page-Builders Elementor gehen in eine ähnliche Richtung, wenn (zumindest in der kostenpflichtigen Version) die Möglichkeit geboten wird, eigene Templates mit dem Page-Builder zu erstellen.