WordPress怎么制作header.php

寻技术 PHP编程 / CMS教程 2023年12月19日 78

本篇内容介绍了“WordPress怎么制作header.php”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创建的主题目录

wp-content	hemesAurelius
,在该目录下新建一个php文件
header.php
,我们提取出
index.php
中的头部代码复制粘贴到
header.php
中,下面的代码就是目前
header.php
中的所有代码了(当然不同主题的头部代码都是不一样,在你实际的项目中可以自定决定):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Aurelius | Blog</title>
<!-- Stylesheets -->
<link rel="stylesheet" href="https://www.19jp.com"></head>
<body>
<div id="wrapper" class="container_12 clearfix">
<!-- Text Logo -->
<h2 id="logo" class="grid_4">Aurelius</h2>
<!-- Navigation Menu -->
<ul id="navigation" class="grid_8">
<li><a href="https://www.19jp.com"> Contact Us</a></li>
<li><a href="https://www.19jp.com"> Blog</a></li>
<li><a href="https://www.19jp.com"> Home</a></li>
</ul>
<div class="hr grid_12 clearfix"> </div>
<!-- Caption Line -->
<h3 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h3>
<div class="hr grid_12 clearfix"> </div>

再用文本编辑器打开

index.php
archive.php
contact.php
full_width.php
page.php
single.php
,删掉以上类似代码,改成:
<?php get_header(); ?>

好,现在打开你的测试博客主页,看看我们制作的主题是否还可以正常工作,答案是可以的,跟原来几乎没什么两样,但还是一片混乱。

get_header()
就相当于将
header.php
中的代码拷贝到当前的php文件。接下来,我们将仔细探讨
header.php
中的动态内容。
header.php
将会被所有的模板页面(主页、分类页、页面、标签页等)所包含,所以
header.php
中代码应该是动态,适合不同页面的,所以这里面需要用到PHP代码,而不是单纯的HTML。下面让我们一起来修改
header.php

1、更改<title>

我们都知道不同页面的title都是不一样,而且title的设置还会直接影响到SEO的效果,所以这里应该谨慎设置。下面提供一种SEO优化的title写法,将

<title>Aurelius | Blog</title>
改成:

<title><?php if ( is_home() ) {
		bloginfo('name'); echo " - "; bloginfo('description');
	} elseif ( is_category() ) {
		single_cat_title(); echo " - "; bloginfo('name');
	} elseif (is_single() || is_page() ) {
		single_post_title();
	} elseif (is_search() ) {
		echo "搜索结果"; echo " - "; bloginfo('name');
	} elseif (is_404() ) {
		echo '页面未找到!';
	} else {
		wp_title('',true);
	} ?></title>

以上添加的php代码运用了条件判断,针对不同的页面采用不同title,这里解释一下这几个条件标签。

  • is_home()
    :当前页面为主页时返回true
  • is_category()
    :当前页面为分类页时返回true
  • is_single()
    :当前页面为单文章页时返回true
  • is_page()
    :当前页面为单页面时返回true

到目前为止,可能你对这些条件判断标签还没有深入的认识,也搞不懂到底是用了这些标签会对主题造成怎样的影响的,随着我们教程的进一步深入,你会慢慢理解的。如果你不喜欢上面title的写法,可以自行上网搜索相关代码:

WordPress SEO title

2、更改样式表style.css路径

在此之前你看到的首页都是混乱的,原因是还没加载css样式。现在我们一起把样式加上。你可以在

header.php
中找到这一段代码:
<link rel="stylesheet" href="https://www.19jp.com">

聪明的你可能问:

wp-content	hemesAurelius
目录下不是已经有一个
style.css
吗?那为什么
header.php
没有加载css呢?结果你是可以看到的,页面一篇混乱,可以确定确实没有加载到css。因为这是WordPress的主题,是要被WordPress的主程序调用,经过层层解析才能把你的博客显示出来,而不是简简单单的html静态网页文件。正确的改法:
<link rel="stylesheet" href="https://www.19jp.com">

bloginfo('stylesheet_url')
输出的是你的主题css文件绝对网址,如http://localhost/wp/wp-content/themes/Aurelius/style.css,WordPress程序会自动识别你的WordPress安装地址,当前启用的主题,自动输出这个style.css链接。现在你可以试着更改一下,然后刷新一下你的博客首页,查看网页源代码,style.css的链接是不是变成你的了?页面是否可以正常显示了呢?

如果你的css文件不是style.css,且不是在主题根目录下,那怎么办呢?我们可以用

<?php bloginfo('template_url'); ?>
来获取主题根目录的URL,如你的主题css文件是
abc.css
,那么我们可以这样写:
<?php bloginfo('template_url'); ?>/abc.css
,如果是在子目录css下那就这样:
<?php bloginfo('template_url'); ?>/css/abc.css
。同样加载js文件也是这样。

不过,还有几张图片的路径不对,还不能显示出来,现在我们一起用文本编辑器打开

index.php
archive.php
contact.php
full_width.php
page.php
single.php
,给这些图片加上正确的URL,搜索代码,将所有的:
src="images/
,批量替换成
src="<?php bloginfo('template_url'); ?>/images/
。现在再刷新你的主页,看文章的缩略图是否可以正常显示。
<?php bloginfo('template_url'); ?>
用于输出主题目录的URL。

3、添加pingback

至于什么是pingback,你可以在搜索引擎中输入关键字:

WordPress pingback
,就可以得到你想要的答案了。如果你需要这个功能,可以在
<head>
里面添加以下代码:
<link rel="pingback" href="https://www.19jp.com">

4、更改博客名称和描述

header.php
,下面两行代码用于显示博客名称和描述:
<h2 id="logo" class="grid_4">Aurelius</h2>
<h3 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h3>

上面是静态代码,现在做如下修改:

<h2 id="logo" class="grid_4"><a href="https://www.19jp.com"><h3 class="grid_12 caption clearfix"><?php bloginfo('description'); ?></h3>

现在你的博客首页看到的就是你博客名称和描述了,并且logo也是一个链接指向你的博客首页。我们这里说说这些php代码的作用。

  • <?php echo get_option('home'); ?>
    输出你的博客首页网址
  • <?php bloginfo('name'); ?>
    输出你的博客名称
  • <?php bloginfo('description'); ?>
    输出博客描述

博客名称和描述可以在WordPress管理后台 - 设置 - 常规那里更改。以后制作你自己的WordPress主题的时候,你可参照上面的说明对你的主题进行修改。

5、添加订阅feed链接

相信每个已发布的WordPress博客主题都会提供feed订阅,当然我们的主题也应该提供这样的功能。在

</head>
之前添加以下代码:
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="https://www.19jp.com"><link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有评论" href="https://www.19jp.com">

6、添加wp_head

有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。打开

header.php
,在
</head>
前面添加以下代码即可:
<?php wp_head(); ?>

现在打开你的博客主页,查看源代码,

</head>
前面是不是多了以下类似代码(这些都是
wp_head()
的功劳):
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.19jp.com"><link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.19jp.com"><link rel='index'  href="https://www.19jp.com"><meta name="generator" content="WordPress 2.9.2" />

7、添加Description 和 Keywords

8、显示菜单栏

目前菜单栏有Home、Blog和Contact Us几个菜单,不过这些都是静态的内容,并不是你博客上的页面。现在我们将菜单栏换成你的菜单,这里只在菜单栏中列出页面page,当然你也可以再放置分类,根据你的喜好来吧,将header.php中:

<ul id="navigation" class="grid_8">
<li><a href="https://www.19jp.com"> Contact Us</a></li>
<li><a href="https://www.19jp.com"> Blog</a></li>
<li><a href="https://www.19jp.com"> Home</a></li>
</ul>

改成:

<ul id="navigation" class="grid_8">
<?php wp_list_pages('depth=1&title_li=0&sort_column=menu_order'); ?>
<li <?php if (is_home()) { echo 'class="current"';} ?>><a title="<?php bloginfo('name'); ?>" href="https://www.19jp.com"></ul>

9、刷新缓存

<body>
前面,
</head>
后面添加PHP代码,用于提高程序运行效率:
<?php flush(); ?>
关闭

用微信“扫一扫”