当前浏览:首页 / WordPress函数 / get_header()

get_header( string $name = null, array $args = array() )

加载页首模板

headermore...


描述

载入主题的页首模板,或者如果指定了名称,则将载入专门的页首。

对于参数,如果文件名为“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开始引入

使用示例

  • 示例1

    不同页面使用不同页首。

    <?php
    if ( is_home() ) :
    	get_header( 'home' );
    elseif ( is_404() ) :
    	get_header( '404' );
    else :
    	get_header();
    endif;
    ?>
    

    home和404页首的文件名应分别为header-home.phpheader-404.php

  • 示例2

    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>
  • 示例3

    使用$name参数加载特定页首文件:
    <?php get_header( 'special' ); ?>

    主题文件中的上述代码将加载模板文件:header-special.php。如果未找到,将默认加载:header.php

  • 示例4

    将数组作为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分配给菜单。因此,您可以根据需要设置菜单样式。

  • 示例5

    以下代码是“HTTP 404:未找到”错误模板的简单示例(您可以将其作为404.php包含在主题中)。

    <?php get_header(); ?>
    
    <h2><?php esc_html_e( 'Error 404 - Not Found', 'textdomain' ); ?></h2>
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>