Answers:
get_header
您可以使用一个动作。在您主题的中functions.php
,为该操作注册一个回调:
add_action( 'get_header', function( $name ) {
add_filter( 'current_header', function() use ( $name ) {
// always return the same type, unlike WP
return (string) $name;
});
});
您还可以编写一个可以重用的辅助类:
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' ] );
});
在中header.php
,您将获得带有以下内容的当前零件/名称:
$current_part = apply_filters( 'current_header', '' );
你可以做同样的get_footer
,get_sidebar
和get_template_part_{$slug}
。