it-swarm.com.de

Get_template_directory () im untergeordneten Design überschreiben?

Ist es möglich, eine get_template_directory() in der functions.php-Datei meines Kindes zu ersetzen?

Ich möchte Änderungen an der Datei vornehmen:

/**
* Load Custom Post types file.
*/
require get_template_directory() . '/inc/post-types.php';

Ich würde natürlich vorziehen, dass meine Arbeit nicht überschrieben wird, wenn ich mein Design aktualisiere. Kann ich die Registrierung der übergeordneten Datei aufheben und die Datei meines Kindes in der Funktionsdatei meines Kindes erneut registrieren?

7
Heather

Späte Antwort, aber in Wordpress 4.7 wurden zwei neue Funktionen eingeführt, um diese Frage zu beantworten.

get_theme_file_path() (für absolute Dateipfade) und get_theme_file_uri() (für URLs) funktionieren genau wie get_template_part(), da sie zuerst automatisch im untergeordneten Design nach dieser Datei suchen und dann auf das übergeordnete Design zurückgreifen.

In Ihrem Beispiel könnten Sie es mit 4.7 so umschreiben:

/**
* Load Custom Post types file.
*/
require get_theme_file_path( 'inc/post-types.php' );

Weitere Informationen finden Sie hier: https://make.wordpress.org/core/2016/09/09/new-functions-hooks-and-behaviour-for-theme-developers-in-wordpress-4-7/

15
brianjohnhanna

Sie müssen get_stylesheet_directory_uri() anstelle von get_template_directory() in Ihrem untergeordneten Thema verwenden.

Aus dem WordPress-Codex:

get_template_directory_uri ()

Wird ein untergeordnetes Thema verwendet, wird der URI des übergeordneten Themenverzeichnisses zurückgegeben. get_template_directory_uri () sollte für Ressourcen verwendet werden, die nicht dazu gedacht sind, in ein untergeordnetes Thema aufgenommen oder von diesem überschrieben zu werden. Verwenden Sie get_stylesheet_directory_uri (), um Ressourcen einzuschließen, die in das untergeordnete Thema aufgenommen bzw. von diesem überschrieben werden sollen.

get_stylesheet_directory_uri ()

Wenn ein untergeordnetes Thema verwendet wird, gibt diese Funktion den URI des untergeordneten Themenverzeichnisses zurück. Verwenden Sie get_template_directory_uri (), um zu vermeiden, dass Sie von einem untergeordneten Thema überschrieben werden.

9
James Barrett