描述
载入主题的页首模板,或者如果指定了名称,则将载入专门的页首。
对于参数,如果文件名为“header-special.php”,则指定“special”。
参数
- $name
-
(string) (可选) 指定页首的名称。
默认值: null
- $args
-
(array) (可选) 传递给页首模板的其他参数。
默认值: array()
返回
(void|false) 成功无返回,如果模板不存在,则为false。
说明
如果主题中没有header.php文件,则将载入默认主题wp-includes/theme-compat/header.php
文件。
源码
更新日志
版本 | 描述 |
---|---|
5.5.0 | 添加了$args 参数 |
1.5.0 | 开始引入 |
使用示例
不同页面使用不同页首。
<?php if ( is_home() ) : get_header( 'home' ); elseif ( is_404() ) : get_header( '404' ); else : get_header(); endif; ?>
home和404页首的文件名应分别为
header-home.php
和header-404.php
。get_header() 的第二个参数,我们可以传递一个数组
<?php // in index.php or where you want to include header get_header( '', array( 'name' => 'Ruhul Amin', 'age' => 23 ) ); ?>
我们将能够在
header.php
中使用此功能<h2>This is a Header</h2> <p>Hey, <?php echo $args['name']; ?>, You are <?php echo $args['age']; ?> years old</p>
使用
$name
参数加载特定页首文件:<?php get_header( 'special' ); ?>
主题文件中的上述代码将加载模板文件:
header-special.php
。如果未找到,将默认加载:header.php
。将数组作为get_header() 的第二个参数传递
<?php // that code put in page.php, single.php etc // I have put that code in index.php file get_header( '', array( 'menu' => wp_nav_menu( array( 'menu' => 'wpdocs_primary_menu', 'menu_class' => 'wpdocs_header_menu', 'menu_id' => 'wpdocs_nav_menu', ) ) ) ); ?>
在header.php中加入代码
<?php echo $args['menu']; ?>
输出:显示在WordPress仪表板中设置的菜单项
注意:
在上述代码中,将wpdocs_header_menu
分配为菜单的类,并将idwpdocs_nav_menu
分配给菜单。因此,您可以根据需要设置菜单样式。以下代码是“HTTP 404:未找到”错误模板的简单示例(您可以将其作为
404.php
包含在主题中)。<?php get_header(); ?> <h2><?php esc_html_e( 'Error 404 - Not Found', 'textdomain' ); ?></h2> <?php get_sidebar(); ?> <?php get_footer(); ?>