Maison >Tutoriel CMS >WordPresse >Tout le processus de création de thème WordPress (5) : création de header.php

Tout le processus de création de thème WordPress (5) : création de header.php

青灯夜游
青灯夜游avant
2023-02-21 10:21:471962parcourir

Je vous ai présenté "L'ensemble du processus de production d'un thème WordPress (4) : Un petit test". Cet article continue de vous présenter le "Processus complet de production d'un thème WordPress (5) : Création de header.php". regardez-le ensemble. Bar~

Vous pouvez essayer d'utiliser un éditeur de texte pour ouvrir le fichier .html téléchargé depuis WordPress Theme Production Whole Process (3) : HTML Static Template Production I. je me demande si vous avez trouvé leurs en-têtes. Les codes dans toutes les parties sont très similaires ? En fait, nous pouvons extraire cette partie de code similaire et la mettre dans un fichier séparé header.php. Lorsque chaque page souhaite utiliser cette partie de code, utilisez le include() Ou incluez le <code>get_header() de WordPress. Cette partie du code doit être écrite dans chaque page de la province. Si vous la modifiez, vous pouvez atteindre l'objectif de tout changer. .html 文件,不知道你有没有发现他们头部的代码都非常的相似呢?其实我们可以提取这部分相似的代码,放到一个单独的文件header.php中,各个页面想用这部分代码的时候再用php的include()或者WordPress的get_header()包含进去,省的每个页面里面都要写这部分代码,更改起来也可以达到一改全改的目的。

再次提醒:如果你不打算动手编写代码,这个系列教程就别看了,对你无益!

接着我们上次创建的主题目录wp-contentthemesAurelius,在该目录下新建一个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="./style.css" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper" class="container_12 clearfix">
	<!-- Text Logo -->
	<h1 id="logo" class="grid_4">Aurelius</h1>
	<!-- Navigation Menu -->
	<ul id="navigation" class="grid_8">
		<li><a href="contact.html"><span class="meta">Get in touch</span><br />
			Contact Us</a></li>
		<li><a href="blog.html" class="current"><span class="meta">Latest news</span><br />
			Blog</a></li>
		<li><a href="index.html"><span class="meta">Homepage</span><br />
			Home</a></li>
	</ul>
	<div class="hr grid_12 clearfix"> </div>
	<!-- Caption Line -->
	<h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2>
	<div class="hr grid_12 clearfix"> </div>

再用文本编辑器打开index.phparchive.phpcontact.phpfull_width.phppage.phpsingle.php,删掉以上类似代码,改成:

<?php get_header(); ?>

好,现在打开你的测试博客主页,看看我们制作的主题是否还可以正常工作,答案是可以的,跟原来几乎没什么两样,但还是一片混乱。get_header()就相当于将header.php中的代码拷贝到当前的php文件。接下来,我们将仔细探讨header.php中的动态内容。header.php将会被所有的模板页面(主页、分类页、页面、标签页等)所包含,所以header.php中代码应该是动态,适合不同页面的,所以这里面需要用到PHP代码,而不是单纯的HTML。下面让我们一起来修改header.php

1、更改b2386ffb911b14667cb8f0f91ea547a7

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

<title><?php if ( is_home() ) {
		bloginfo(&#39;name&#39;); echo " - "; bloginfo(&#39;description&#39;);
	} elseif ( is_category() ) {
		single_cat_title(); echo " - "; bloginfo(&#39;name&#39;);
	} elseif (is_single() || is_page() ) {
		single_post_title();
	} elseif (is_search() ) {
		echo "搜索结果"; echo " - "; bloginfo(&#39;name&#39;);
	} elseif (is_404() ) {
		echo &#39;页面未找到!&#39;;
	} else {
		wp_title(&#39;&#39;,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="./style.css" type="text/css" media="screen" />

聪明的你可能问:wp-contentthemesAurelius目录下不是已经有一个 style.css 吗?那为什么 header.php

Rappel encore : Si vous n'envisagez pas d'écrire du code, ne lisez pas cette série de tutoriels, cela ne vous sera d'aucune utilité !
Allez dans le répertoire de thème wp-contentthemesAurelius que nous avons créé la dernière fois, créez un nouveau fichier php header.php dans ce répertoire et extrayez index.php dans <code>header.php. Le code suivant est actuellement tout le code de header.php (bien sûr les en-têtes des différents thèmes). les codes sont tous différents, vous pouvez le personnaliser dans votre projet actuel) : 🎜
<link rel="stylesheet" href="<?php bloginfo(&#39;stylesheet_url&#39;); ?>" type="text/css" media="screen" />
🎜🎜 Utilisez ensuite un éditeur de texte pour ouvrir index.php, archive.php, contact.php, full_width.php, page.php et single .php , supprimez le code similaire ci-dessus et remplacez-le par : 🎜🎜
<link rel="pingback" href="<?php bloginfo(&#39;pingback_url&#39;); ?>" />
🎜🎜Ok, ouvrez maintenant la page d'accueil de votre blog de test pour voir si le thème que nous avons créé peut toujours fonctionner normalement. La réponse est oui, tout comme l'original Pretty. c'est à peu près la même chose, mais toujours le chaos. get_header() équivaut à copier le code de header.php dans le fichier php actuel. Ensuite, nous examinerons de plus près le contenu dynamique dans header.php. header.php sera inclus dans toutes les pages de modèles (page d'accueil, pages de catégories, pages, onglets, etc.), donc le code dans header.php doit être dynamique et adapté pour différentes pages, le code PHP doit donc être utilisé à la place du simple HTML. Modifions header.php ensemble : 🎜

1 Changer b2386ffb911b14667cb8f0f91ea547a7

🎜Nous connaissons tous les titres de. les différentes pages sont différentes et le réglage du titre affectera directement l'effet SEO, vous devez donc le définir soigneusement ici. Ce qui suit fournit une méthode d'écriture de titre optimisée pour le référencement. Remplacez b2386ffb911b14667cb8f0f91ea547a7Aurelius | Blog6e916e0f7d1e588d4f442bf645aedb2f par : 🎜
<h1 id="logo" class="grid_4">Aurelius</h1>
<h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2>
🎜Le code php ajouté ci-dessus utilise un jugement conditionnel et est utilisé pour différentes pages. titres, voici une explication de ces balises conditionnelles. 🎜
  • is_home() : renvoie vrai lorsque la page actuelle est la page d'accueil
  • is_category() : renvoie lorsque la page actuelle est une page de catégorie true
  • is_single() : renvoie vrai lorsque la page actuelle est une page d'article unique
  • is_page() : La page actuelle est une page d'article unique. Renvoie vrai lorsque la page est affichée.
🎜Jusqu'à présent, peut-être que vous n'avez pas une compréhension approfondie de ces balises de jugement conditionnel, et vous ne comprenez pas comment l'utilisation de ces balises affectera le thème. Au fur et à mesure que nous progressons dans le didacticiel, vous comprendrez lentement. Si vous n'aimez pas la façon dont le titre est écrit ci-dessus, vous pouvez rechercher le code correspondant en ligne : Titre WordPress SEO🎜

2 Modifiez le. feuille de style style.css path

🎜La page d'accueil que vous avez vue auparavant est dans le chaos car le style CSS n'a pas encore été chargé. Ajoutons maintenant les styles ensemble. Vous pouvez trouver ce morceau de code dans header.php : 🎜
<h1 id="logo" class="grid_4"><a href="<?php echo get_option(&#39;home&#39;); ?>/"><?php bloginfo(&#39;name&#39;); ?></a></h1>
<h2 class="grid_12 caption clearfix"><?php bloginfo(&#39;description&#39;); ?></h2>
🎜🎜Si vous êtes intelligent, vous pouvez demander : wp- contentthemesAurelius N'y a-t-il pas déjà un <code>style.css dans le répertoire code> ? Alors pourquoi header.php ne charge-t-il pas le CSS ? Comme vous pouvez voir le résultat, la page est en désordre et vous pouvez être sûr que le CSS n'est pas chargé. Parce qu'il s'agit d'un thème de WordPress, il doit être appelé par le programme principal de WordPress, et votre blog peut être affiché après des couches d'analyse, plutôt qu'un simple fichier de page Web statique HTML. Modification correcte : 🎜🎜
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="<?php echo get_bloginfo(&#39;rss2_url&#39;); ?>" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有评论" href="<?php bloginfo(&#39;comments_rss2_url&#39;); ?>" />
🎜

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

如果你的css文件不是style.css,且不是在主题根目录下,那怎么办呢?我们可以用0fc0a3f621cc574c92fe12d951515ac9来获取主题根目录的URL,如你的主题css文件是abc.css,那么我们可以这样写:0fc0a3f621cc574c92fe12d951515ac9/abc.css,如果是在子目录css下那就这样:0fc0a3f621cc574c92fe12d951515ac9/css/abc.css。同样加载js文件也是这样。

不过,还有几张图片的路径不对,还不能显示出来,现在我们一起用文本编辑器打开index.phparchive.phpcontact.phpfull_width.phppage.phpsingle.php,给这些图片加上正确的URL,搜索代码,将所有的:src="images/,批量替换成src="0fc0a3f621cc574c92fe12d951515ac9/images/。现在再刷新你的主页,看文章的缩略图是否可以正常显示。0fc0a3f621cc574c92fe12d951515ac9用于输出主题目录的URL。

3、添加pingback

至于什么是pingback,你可以在搜索引擎中输入关键字:WordPress pingback,就可以得到你想要的答案了。如果你需要这个功能,可以在93f0f5c25f18dab9d176bd4f6de5d30e里面添加以下代码:

<link rel="pingback" href="<?php bloginfo(&#39;pingback_url&#39;); ?>" />

4、更改博客名称和描述

header.php,下面两行代码用于显示博客名称和描述:

<h1 id="logo" class="grid_4">Aurelius</h1>
<h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2>

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

<h1 id="logo" class="grid_4"><a href="<?php echo get_option(&#39;home&#39;); ?>/"><?php bloginfo(&#39;name&#39;); ?></a></h1>
<h2 class="grid_12 caption clearfix"><?php bloginfo(&#39;description&#39;); ?></h2>

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

  • 8e15115cb80d1acbe35508806bdafbee  输出你的博客首页网址
  • dbc395af03a8e84af3b585d66d8154e4  输出你的博客名称
  • 512e8410679877c13c3741899e256d1d  输出博客描述

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

5、添加订阅feed链接

相信每个已发布的WordPress博客主题都会提供feed订阅,当然我们的主题也应该提供这样的功能。在9c3bca370b5104690d9ef395f2c5f8d1之前添加以下代码:

<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="<?php echo get_bloginfo(&#39;rss2_url&#39;); ?>" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有评论" href="<?php bloginfo(&#39;comments_rss2_url&#39;); ?>" />

6、添加wp_head

有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。打开header.php,在9c3bca370b5104690d9ef395f2c5f8d1前面添加以下代码即可:

<?php wp_head(); ?>

现在打开你的博客主页,查看源代码,9c3bca370b5104690d9ef395f2c5f8d1前面是不是多了以下类似代码(这些都是wp_head()的功劳):

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://ludou.co.tv/blog/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://ludou.co.tv/blog/wp-includes/wlwmanifest.xml" /> 
<link rel=&#39;index&#39;  href=&#39;http://ludou.co.tv&#39; />
<meta name="generator" content="WordPress 2.9.2" />

7、添加Description 和 Keywords

关于添加网页描述和关键字,可以查看我之前写过的文章:WordPress使用经验(一)独立的Description 和 Keywords

8、显示菜单栏

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

<ul id="navigation" class="grid_8">
	<li><a href="contact.html"><span class="meta">Get in touch</span><br />
		Contact Us</a></li>
	<li><a href="blog.html" class="current"><span class="meta">Latest news</span><br />
		Blog</a></li>
	<li><a href="index.html"><span class="meta">Homepage</span><br />
		Home</a></li>
</ul>

改成:

<ul id="navigation" class="grid_8">
	<?php wp_list_pages(&#39;depth=1&title_li=0&sort_column=menu_order&#39;); ?>
	<li <?php if (is_home()) { echo &#39;class="current"&#39;;} ?>><a title="<?php bloginfo(&#39;name&#39;); ?>"  href="<?php echo get_option(&#39;home&#39;); ?>/">主页</a></li>
</ul>

Les deux articles suivants présentent comment créer un menu WordPress, vous pouvez également vous référer à :

9. Actualisez le cache

Ajoutez le code PHP devant 6c04bd5ca3fcae76e30b72ad730ca86d et après 9c3bca370b5104690d9ef395f2c5f8d1 améliorer l'efficacité de l'exécution du programme : ce2551860b9b855ab7fc8c31d0e97f48

6c04bd5ca3fcae76e30b72ad730ca86d前面,9c3bca370b5104690d9ef395f2c5f8d1后面添加PHP代码,用于提高程序运行效率:aac5cfcd9c80ae0a9200fcac4073e209

总结

好了,本次练习到此结束!现在总结一些今天讲到的比较重要的知识点:

  • c974613bee707296608324a2f9bc69b1 从当前主题文件夹中包含header.php文件
  • is_home(),is_single(),is_category()等几个条件判断标签
  • bf591411cb1eecee999d8e00eff73f82 输出主题文件夹中style.css文件的路径
  • 7a764efa0ab7cae20290c3ae2e7b431f 输出博客pingback网址
  • 0fc0a3f621cc574c92fe12d951515ac9 输出博客主题目录URL
  • 8e15115cb80d1acbe35508806bdafbee  输出你的博客首页网址
  • dbc395af03a8e84af3b585d66d8154e4 输出你的博客名称
  • 512e8410679877c13c3741899e256d1d 输出博客描述
  • 12493c822e68bbb57c539d2976ef876e 用于包含WordPress程序输出头部信息
  • 57e4661e8da6ea5673b0f98014eea780 用于列出博客分类页
  • c3248765daa06fe0c6c25b73e08a9431 用于列出博客页面

到目前为止你的博客还只能看到主页,不要灰心,凡事一步一个脚印,以后教程会慢慢深入的。最后提供经过本次修改后的Aurelius主题文件,你可以用文本编辑器打开看看,跟你修改的文件比较比较(尤其是header.php

Résumé

Tout le processus de création de thème WordPress (5) : création de header.phpD'accord, cet exercice est terminé ! Résumez maintenant certains des points de connaissances les plus importants mentionnés aujourd'hui :

    c974613bee707296608324a2f9bc69b1 Incluez le fichier header.php du dossier de thème actuel

    is_home(), is_single(), is_category() et plusieurs autres balises de jugement conditionnel

    94a8043459bfb6998d23d5045c54fcd0 Dossier du thème de sortie Le chemin au fichier style.css dans 🎜🎜65eaf82458e40adb7554a73961907d8f Afficher l'URL de pingback du blog 🎜🎜b509632139f9e73e190bd0c3c0deb410 Afficher l'URL du répertoire du thème du blog🎜🎜682e3b9ce30290db05ce3181b5bc2354 Afficher l'URL de la page d'accueil de votre blog🎜🎜02e0acc77827d2ad60f9a26932eb2f34 Afficher le nom de votre blog🎜🎜aba501e6506f9f6f8f201b13932b065a Afficher la description du blog🎜🎜12493c822e68bbb57c539d2976ef876e Utilisé pour inclure les informations d'en-tête de sortie du programme WordPress 🎜🎜cfae8f42feba836cdd5660c00b314747 Utilisé pour répertorier la page de catégorie des blogs 🎜🎜c3248765daa06fe0c6c25b73e08a9431 est utilisé pour lister les pages du blog🎜🎜🎜Jusqu'à présent, votre blog ne peut voir que la page d'accueil, ne vous découragez pas, faites tout en un seul pas à la fois Footprints, les tutoriels seront progressivement approfondis dans le futur. Enfin, le fichier de thème Aurelius après cette modification est fourni. Vous pouvez l'ouvrir avec un éditeur de texte et le comparer avec le fichier que vous avez modifié (notamment header.php), voir. comment tu l'as changé ? 🎜🎜🎜🎜🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel WordPress🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer