消灭怪兽 發表於 2023-6-8 00:00:00

详解WordPress开发中get_header()获取头部函数的用法

<p>
<strong>函数意义详解</strong><br>
从当前主题调用header.php文件。是不是很简单?好吧,如果你是新手的话这里要提醒一下,这里的get和get_children()、get_category中的get略有不同之处。</p>
<p>
<strong>get_header函数声明(定义)</strong><br>
之前写文章很少会写到函数定义的代码,后来自己翻看的时候发现这个习惯不太好,所以决定,只要篇幅允许,就会把函数主题贴出来,方便自己翻看。<br>
get_header 函数,声明(定义)的位置,是在 wp=include/general-template.php 文件的第 24 – 36 行左右的位置。</p>
<div>
<div>
<div id="highlighter_910423">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
<div>
7</div>
<div>
8</div>
<div>
9</div>
<div>
10</div>
<div>
11</div>
<div>
12</div>
<div>
13</div>
</td>
<td>
<div>
<div>
<code>function</code> <code>get_header( </code><code>$name</code> <code>= null ) {</code>
</div>
<div>
<code> </code><code>do_action( </code><code>'get_header'</code><code>, </code><code>$name</code> <code>);</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code><code>$templates</code> <code>= </code><code>array</code><code>();</code>
</div>
<div>
<code> </code><code>if</code> <code>( isset(</code><code>$name</code><code>) )</code>
</div>
<div>
<code> </code><code>$templates</code><code>[] = </code><code>"header-{$name}.php"</code><code>;</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code><code>$templates</code><code>[] = </code><code>'header.php'</code><code>;</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code><code>// Backward compat code will be removed in a future release</code>
</div>
<div>
<code> </code><code>if</code> <code>(</code><code>''</code> <code>== locate_template(</code><code>$templates</code><code>, true))</code>
</div>
<div>
<code> </code><code>load_template( ABSPATH . WPINC . </code><code>'/theme-compat/header.php'</code><code>);</code>
</div>
<div>
<code>}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
get_header函数的使用</p>
<div>
<div>
<div id="highlighter_54650">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
</td>
<td>
<div>
<div>
<code>&lt;?php get_header( </code><code>$name</code> <code>); ?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
很简单,从上面的函数声明中我们也能看出,该函数只接受一个变量作为参数。</p>
<p>
参数解释<br>
$name ,从上面的函数声明中我们可以看出,$name是一个字符串型变量,用来调用header的别名模板,<br>
比如 $name = “ab”;<br>
也就是我们这样</p>
<div>
<div>
<div id="highlighter_92335">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
</td>
<td>
<div>
<div>
<code>&lt;?php </code>
</div>
<div>
<code>  </code><code>$name</code> <code>= “ab”</code>
</div>
<div>
<code>  </code><code>get_header( </code><code>$name</code> <code>); </code>
</div>
<div>
<code> </code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
这将会调用 header-ab.php 文件作为头部文件的调用。</p>
<p>
<strong>例子:</strong></p>
<p>
<strong>1.简单的 404 页面</strong></p>
<p>
下面的代码是一个简单模板文件,专门用来显示 "HTTP 404: Not Found" 错误的 (这个文件应该包含在你的主题中,名为 404.php)</p>
<div>
<div>
<div id="highlighter_897543">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
</td>
<td>
<div>
<div>
<code>&lt;?php get_header(); ?&gt;</code>
</div>
<div>
<code>&lt;h2&gt;Error 404 - Not Found&lt;/h2&gt;</code>
</div>
<div>
<code>&lt;?php get_sidebar(); ?&gt;</code>
</div>
<div>
<code>&lt;?php get_footer(); ?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>2.多种头部</strong></p>
<p>
为不同的页面显示不同的头部</p>
<div>
<div>
<div id="highlighter_597380">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
<div>
7</div>
<div>
8</div>
<div>
9</div>
</td>
<td>
<div>
<div>
<code>&lt;?php</code>
</div>
<div>
<code>if</code> <code>( is_home() ) :</code>
</div>
<div>
<code> </code><code>get_header( </code><code>'home'</code> <code>);</code>
</div>
<div>
<code>elseif</code> <code>( is_404() ) :</code>
</div>
<div>
<code> </code><code>get_header( </code><code>'404'</code> <code>);</code>
</div>
<div>
<code>else</code> <code>:</code>
</div>
<div>
<code> </code><code>get_header();</code>
</div>
<div>
<code>endif</code><code>;</code>
</div>
<div>
<code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
这些为 home 和 404 准备的头部应该分别命名为  header-home.php 和 header-404.php 。</p>
頁: [1]
查看完整版本: 详解WordPress开发中get_header()获取头部函数的用法