编写PHP脚本使WordPress的主题支持Widget侧边栏
<p>帮网友小改了一下主题. 任务比较简单, 只是为一个三栏主题添加对 Widget 的支持而已,就先从这次简单的案例开始说吧.</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="编写PHP脚本使WordPress的主题支持Widget侧边栏" alt="编写PHP脚本使WordPress的主题支持Widget侧边栏" src="https://zhuji.jb51.net/uploads/img/202305/fa8f5c35dca90c33a1994e66f9749224.jpg"></p>
<p>
<strong>单侧边栏</strong></p>
<p>
functions.php</p>
<div>
<div>
<div id="highlighter_697559">
<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>
</td>
<td>
<div>
<div>
<code><?php</code>
</div>
<div>
<code>if</code><code>( function_exists(</code><code>'register_sidebar'</code><code>) ) {</code>
</div>
<div>
<code> </code><code>register_sidebar(</code><code>array</code><code>(</code>
</div>
<div>
<code> </code><code>'before_widget'</code> <code>=> </code><code>'<li>'</code><code>, </code><code>// widget 的开始标签</code>
</div>
<div>
<code> </code><code>'after_widget'</code> <code>=> </code><code>'</li>'</code><code>, </code><code>// widget 的结束标签</code>
</div>
<div>
<code> </code><code>'before_title'</code> <code>=> </code><code>'<h3>'</code><code>, </code><code>// 标题的开始标签</code>
</div>
<div>
<code> </code><code>'after_title'</code> <code>=> </code><code>'</h3>'</code> <code>// 标题的结束标签</code>
</div>
<div>
<code> </code><code>));</code>
</div>
<div>
<code>}</code>
</div>
<div>
<code>?></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
sidebar.php</p>
<div>
<div>
<div id="highlighter_293149">
<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>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
<div>
18</div>
<div>
19</div>
<div>
20</div>
<div>
21</div>
<div>
22</div>
<div>
23</div>
<div>
24</div>
<div>
25</div>
<div>
26</div>
</td>
<td>
<div>
<div>
<code><div id=</code><code>"sidebar"</code><code>></code>
</div>
<div>
<code> </code><code><ul </code><code>class</code><code>=</code><code>"widgets"</code><code>></code>
</div>
<div>
<code><?php </code><code>// 如果没有使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容</code>
</div>
<div>
<code>if</code> <code>( !function_exists(</code><code>'dynamic_sidebar'</code><code>) || !dynamic_sidebar() ) :</code>
</div>
<div>
<code>?></code>
</div>
<div>
<code> </code><code><!-- widget 1 --></code>
</div>
<div>
<code> </code><code><li </code><code>class</code><code>=</code><code>"widget"</code><code>></code>
</div>
<div>
<code> </code><code><h3>标题 1</h3></code>
</div>
<div>
<code> </code><code><ul></code>
</div>
<div>
<code> </code><code><li>条目 1.1</li></code>
</div>
<div>
<code> </code><code><li>条目 1.2</li></code>
</div>
<div>
<code> </code><code><li>条目 1.3</li></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code> </code><code></li></code>
</div>
<div>
<code> </code><code><!-- widget 2 --></code>
</div>
<div>
<code> </code><code><li </code><code>class</code><code>=</code><code>"widget"</code><code>></code>
</div>
<div>
<code> </code><code><h3>标题 2</h3></code>
</div>
<div>
<code> </code><code><ul></code>
</div>
<div>
<code> </code><code><li>条目 2.1</li></code>
</div>
<div>
<code> </code><code><li>条目 2.2</li></code>
</div>
<div>
<code> </code><code><li>条目 2.3</li></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code> </code><code></li></code>
</div>
<div>
<code><?php </code><code>endif</code><code>; ?></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code></div></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>双侧边栏</strong></p>
<p>
functions.php</p>
<div>
<div>
<div id="highlighter_336231">
<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>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
<div>
18</div>
<div>
19</div>
<div>
20</div>
<div>
21</div>
</td>
<td>
<div>
<div>
<code><?php</code>
</div>
<div>
<code>if</code><code>( function_exists(</code><code>'register_sidebar'</code><code>) ) {</code>
</div>
<div>
<code> </code><code>register_sidebar(</code><code>array</code><code>(</code>
</div>
<div>
<code> </code><code>'name'</code> <code>=> </code><code>'Sidebar_1'</code><code>, </code><code>// 侧边栏 1 的名称</code>
</div>
<div>
<code> </code><code>'before_widget'</code> <code>=> </code><code>'<li>'</code><code>, </code><code>// widget 的开始标签</code>
</div>
<div>
<code> </code><code>'after_widget'</code> <code>=> </code><code>'</li>'</code><code>, </code><code>// widget 的结束标签</code>
</div>
<div>
<code> </code><code>'before_title'</code> <code>=> </code><code>'<h3>'</code><code>, </code><code>// 标题的开始标签</code>
</div>
<div>
<code> </code><code>'after_title'</code> <code>=> </code><code>'</h3>'</code> <code>// 标题的结束标签</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code><code>));</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code><code>register_sidebar(</code><code>array</code><code>(</code>
</div>
<div>
<code> </code><code>'name'</code> <code>=> </code><code>'Sidebar_2'</code><code>, </code><code>// 侧边栏 2 的名称</code>
</div>
<div>
<code> </code><code>'before_widget'</code> <code>=> </code><code>'<li>'</code><code>, </code><code>// widget 的开始标签</code>
</div>
<div>
<code> </code><code>'after_widget'</code> <code>=> </code><code>'</li>'</code><code>, </code><code>// widget 的结束标签</code>
</div>
<div>
<code> </code><code>'before_title'</code> <code>=> </code><code>'<h3>'</code><code>, </code><code>// 标题的开始标签</code>
</div>
<div>
<code> </code><code>'after_title'</code> <code>=> </code><code>'</h3>'</code> <code>// 标题的结束标签</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code><code>));</code>
</div>
<div>
<code>}</code>
</div>
<div>
<code>?></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
sidebar.php</p>
<div>
<div>
<div id="highlighter_834518">
<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>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
</td>
<td>
<div>
<div>
<code><div id=</code><code>"sidebar_1"</code><code>></code>
</div>
<div>
<code> </code><code><ul </code><code>class</code><code>=</code><code>"widgets"</code><code>></code>
</div>
<div>
<code><?php </code><code>// 如果没有在侧边栏 1 中使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容</code>
</div>
<div>
<code>if</code> <code>( !function_exists(</code><code>'dynamic_sidebar'</code><code>) || !dynamic_sidebar(</code><code>'sidebar_1'</code><code>) ) :</code>
</div>
<div>
<code>?></code>
</div>
<div>
<code> </code><code><!-- widget 1 --></code>
</div>
<div>
<code> </code><code><li </code><code>class</code><code>=</code><code>"widget"</code><code>></code>
</div>
<div>
<code> </code><code><h3>标题 1</h3></code>
</div>
<div>
<code> </code><code><ul></code>
</div>
<div>
<code> </code><code><li>条目 1.1</li></code>
</div>
<div>
<code> </code><code><li>条目 1.2</li></code>
</div>
<div>
<code> </code><code><li>条目 1.3</li></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code> </code><code></li></code>
</div>
<div>
<code><?php </code><code>endif</code><code>; ?></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code></div></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<br><div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<div>
<div>
<div id="highlighter_157021">
<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>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
</td>
<td>
<div>
<div>
<code><div id=</code><code>"sidebar_2"</code><code>></code>
</div>
<div>
<code> </code><code><ul </code><code>class</code><code>=</code><code>"widgets"</code><code>></code>
</div>
<div>
<code><?php </code><code>// 如果没有在侧边栏 2 中使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容</code>
</div>
<div>
<code>if</code> <code>( !function_exists(</code><code>'dynamic_sidebar'</code><code>) || !dynamic_sidebar(</code><code>'sidebar_2'</code><code>) ) :</code>
</div>
<div>
<code>?></code>
</div>
<div>
<code> </code><code><!-- widget 2 --></code>
</div>
<div>
<code> </code><code><li </code><code>class</code><code>=</code><code>"widget"</code><code>></code>
</div>
<div>
<code> </code><code><h3>标题 2</h3></code>
</div>
<div>
<code> </code><code><ul></code>
</div>
<div>
<code> </code><code><li>条目 2.1</li></code>
</div>
<div>
<code> </code><code><li>条目 2.2</li></code>
</div>
<div>
<code> </code><code><li>条目 2.3</li></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code> </code><code></li></code>
</div>
<div>
<code><?php </code><code>endif</code><code>; ?></code>
</div>
<div>
<code> </code><code></ul></code>
</div>
<div>
<code></div></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>N 侧边栏</strong><br>
请使用数学归纳法进行推理XD</p>
頁:
[1]