有一个动作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}
.