header.php中包含了一个页面的页头,也就是其他页面中重复出现的部分,包括用户登陆/登陆后显示的文字,导航条,网页logo,有的还包括轮播图。

下面就简单的贴上一个文件吧。

 <!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>"> <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<nav id="site-navigation" class="navbar navbar-default main-navigation" role="navigation"> <div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div> <?php
wp_nav_menu( array(
'theme_location' => 'primary',
'depth' => 2,
'container' => 'div',
'container_class' => 'collapse navbar-collapse navbar-ex1-collapse',
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
</nav>

首先,第n行:

2    php代码

language_attributes();
获得当前语言环境,执行结果lang=en,考虑到网页可能会被国外的人浏览才有的,一般来说知道就行,不写无所谓。

4  php代码

bloginfo( 'charset' );
这个会读取wordpress的数据库,获取该主题设定的语言信息,一般得到的结果就是charset=utf-8,其实你自己这么也行。

6 php代码

wp_title( '|', true, 'right' )
同上,读取wordpress数据库,获得该网页的标题信息,顺便一提,这些信息可以在wordpress后台里进行设定的。

7,8 php代码

<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

这个是博客才会使用的功能pingback,自动引用通知。详细的自己去查查,内容多而且复杂,这里就不说了。

10 php代码

wp_head()

这是【非常重要】的一条代码,是wordpress的启动代码,有了这一条代码你的php页面会加载大量wordpress规定的各种文件,有些是必须的,有些是无用的,如何清除无用的可以去百度,非常简单。

只有写上这句话你才能使用wordpress规定的内置方法和变量,否则就无法调用,系统提示:XXX方法未定义。

【这也是为什么,重新创建一个php文件无法调用wp的方法的原因。】

简单说一下,index.php中有一句wp_header(),可以直接加载header.php中的内容,但是重新创建一个php文件却不能使用,因为wp_head()不在这里,且这个文件也不是系统定义的文件。解决方法就是直接将header文件全部拷贝过来而不是去调用。当然,这仅仅是我个人想到的方法,应该有更好的方法才是。

13-之后所有   html代码,php代码混合

这一段代码作用只有一个,创建一个导航条,主要就是html写好框架结构,然后php添加进来。添加函数

wp_nav_menu

它有很多参数:

//最外层容器的标签名,默认div

‘container’ => ‘div’,

//最外层容器的class名

‘container_class’ => ‘mainNavBlock’,

//最外层容器的id名

‘container_id’ => ‘menu’,

//导航菜单ul标签的class名

‘menu_class’ => ‘mainNav’,

//导航菜单ul标签的id名

‘menu_id’ => “nav”,

//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false

‘echo’ => true,

//备用的导航菜单函数,用于没有在后台设置导航时调用

‘fallback_cb’ => ‘the_main_nav’,

//显示在导航a标签之前

‘before’ => ‘’,

//显示在导航a标签之后

‘after’ => ‘’,

//显示在导航链接名之前

‘link_before’ => ‘’,

//显示在导航链接名之后

‘link_after’ => ‘’,

//显示的菜单层数,默认0,0是显示所有层

‘depth’ => 0,

//调用一个对象定义显示导航菜单

‘walker’ => new Walker_Nav_Menu(),

//指定显示的导航名,如果没有设置,则显示第一个

‘theme_location’ => ‘primary’,

最重要的就是最后的theme_location,后面的字段需要在function.php中进行注册,所以没有functions.php是不可能实现导航条的。

												

wordpress建站过程3——header.php的更多相关文章

  1. wordpress建站过程4——index.php

    <?php get_header(); ?> <div id="primary" class="content-area col-md-9"& ...

  2. wordpress建站过程2——结构

    开始wordpress之前,我们需要了解,wordpress的结构和调用方式. 当一个wordpress开始之后,他会读取[当前主题]的index.php.所以一旦主题切换了,它读的就是其他主题的in ...

  3. wordpress建站过程5——footer.php

    footer中写的就只有网站地图,公司信息等等简单东西而已: <?php wp_footer(); ?> <div class="footer"> < ...

  4. wordpress建站过程1

    使用wordpress我们需要理解一些概念: 1.WordPress是一种使用PHP语言开发的博客平台,它的程序是由php构成的,所以想要使用word press必须会php. 2.Wordpress ...

  5. WordPress建站指南

    WordPress建站指南(1)   写在前面: 3月份用10天零碎时间火速完成了建站,后台95%的工作都交给了WP(WordPress).如果想偷懒的话,WP是一个绝好的选择,估计有个小半天就建完收 ...

  6. 关于WordPress建站的原理二三事

    在写关于仿站文章详情页如何制作之前,我觉得有必要就一些原理性的问题,做一些说明.文章详情页的核心模块和首页有很多相似的地方,比如调用文章的标题.文章的内容.文章分类.作者等,实现起来都差不多,因此,了 ...

  7. Wordpress 建站(一)

    去年在美国的justhost上买了两个域名(shanyexuanyu.com  和 chenjinyu.net.shanyexuanyu.com是给一位马来西亚的佛教徒朋友做的站点. 她镜头下佛教的文 ...

  8. 一文搞懂WordPress建站

    文章首发于:https://zouwang.vip/ 日日夜夜的等待,WordPress建站教程终于来了.本篇文章适用于第一次建站的小白,帮助你从零搭建起一个属于自己的网站,既然是从零,那么我就会带着 ...

  9. WordPress建站 新手入门

    WordPress建站 新手入门教程系列 1. WordPress入门 之 什么是WordPress? 2. WordPress入门 之 搭建WordPress站点需要什么条件? 3. WordPre ...

随机推荐

  1. tomcat解压版安装(摘自网络)

    配置Tomcat[解压版] 选择解压版的Tomcat的理由是可以让我们使用多个Tomcat,但是配置上就会出现一些问题,需要我们手动进行更改配置.我的Tomcat版本是:apache-tomcat-6 ...

  2. PotPlayer播放器 莫尼卡汉化绿色版 V1.6.48089 32位

    软件名称: PotPlayer播放器 莫尼卡汉化绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 10.5MB ...

  3. git出错

    查询git的版本是否装对  32 位  64位

  4. 可用fidder测试的一些安全测试点

    以下是整理的一些常见的安全渗透测试点 1.用工具fidder抓包拦截篡改服务器端返回的代码,导致下级拥有对上级的访问操作权限 以下是公司开发写的用户角色权限页面跳转 修改普通角色跳转的页面为管理员跳转 ...

  5. C#模板打印功能-模板为WPS或Excel

    //---WPS----- using EtApp = ET; using System.Reflection; using System.Runtime.InteropServices; using ...

  6. Java特性

    1. Java面向对象三大特性 封装: 将客观事物封装成抽象的类,并且可以针对里面的数据和方法提供不同级别的保护. 继承: 可以基于已经存在的类构造一个新类.继承已经存在的类就可以复用这些类的方法和域 ...

  7. Java JDBC Batch

    Java批量处理数据 import java.sql.Connection; import java.sql.PreparedStatement; //import String sql = &quo ...

  8. 扣出的图片无法调整大小 photoshop mac版本

  9. 找回误删除的UBUNTU16.04桌面壁纸图片,或把桌面背景图片另存。20170114

    今天遇到一个小问题,之前下载并设置为桌面壁纸的一张图片在整理文件的时候不小心删除了.由于想不起来当时从哪里找到的图,所以就想把当前桌面壁纸重新保存.经网上查询,未见正确的保存方法,故写在此处备忘. 1 ...

  10. python zipfile 文件压缩和文件

    文件压缩 zipfile_obj = zipfile.ZipFile(zipfile_objpath, 'a', zipfile.ZIP_DEFLATED) for dirpath, dirnames ...