wordpress建站过程3

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

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

 1 <!DOCTYPE html>  2 <html <?php language_attributes(); ?>>  3 <head>  4 <meta charset="<?php bloginfo( 'charset' ); ?>">  5 <meta name="viewport" content="width=device-width, initial-scale=1">  6 <title><?php wp_title( '|', true, 'right' ); ?></title>  7 <link rel="profile" href="http://gmpg.org/xfn/11">  8 <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">  9 10 <?php wp_head(); ?> 11 </head> 12 <body <?php body_class(); ?>> 13 <nav id="site-navigation" class="navbar navbar-default main-navigation" role="navigation"> 14 15 <div class="navbar-header"> 16 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"> 17 <span class="sr-only">Toggle navigation</span> 18 <span class="icon-bar"></span> 19 <span class="icon-bar"></span> 20 <span class="icon-bar"></span> 21 </button> 22 </div> 23 24 25 <?php 26  wp_nav_menu( array( 27  'theme_location' => 'primary', 28  'depth' => 2, 29  'container' => 'div', 30  'container_class' => 'collapse navbar-collapse navbar-ex1-collapse', 31  'menu_class' => 'nav navbar-nav', 32  'fallback_cb' => 'wp_bootstrap_navwalker::fallback', 33  'walker' => new wp_bootstrap_navwalker()) 34  ); 35 ?> 36 </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是不可能实现导航条的。

原文链接:https://blog.csdn.net/a23180012142/article/details/101297382?ops_request_misc=&request_id=035132eb9a144cc188f89df76e697da9&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-18-101297382-null-null.268%5Ev1%5Econtrol&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享