Wie kann ich den Namen Parameter in get_header definiert bekommen?

Zum Beispiel benutze get_header('blog'); auf meinen get_header('blog'); , aber ich möchte nicht eine neue Header-Vorlage namens header-blog.php erstellen , weil ich nur ein paar Anpassungen vornehmen möchte. Ist es irgendwie möglich, diesen Namensparameter in meine Datei header.php zu bekommen ?

Solutions Collecting From Web of "Wie kann ich den Namen Parameter in get_header definiert bekommen?"

Es gibt eine Aktion get_header , die Sie verwenden können. Registrieren Sie in der functions.php Ihres Themes einen callback für diese Aktion:

 add_action( 'get_header', function( $name ) { add_filter( 'current_header', function() use ( $name ) { // always return the same type, unlike WP return (string) $name; }); }); 

Sie könnten auch eine kleine Hilfsklasse schreiben, die Sie wiederverwenden können:

 class Template_Data { private $name; public function __construct( $name ) { $this->name = (string) $name; } public function name() { return $this->name; } } add_action( 'get_header', function( $name ) { add_filter( 'current_header', [ new Template_Data( $name ), 'name' ] ); }); 

In Ihrer header.php Sie den aktuellen Teil / Namen mit:

 $current_part = apply_filters( 'current_header', '' ); 

Sie können das auch mit get_footer , get_sidebar und get_template_part_{$slug} .