幫網友小改了一下主題. 任務比較簡單, 只是為一個三欄主題添加對 Widget 的支持而已,就先從這次簡單的案例開始說吧.

單側邊欄
functions.php
<?php
if( function_exists('register_sidebar') ) {
register_sidebar(array(
'before_widget' => '<li class="widget">', // widget 的開始標簽
'after_widget' => '</li>', // widget 的結束標簽
'before_title' => '<h3>', // 標題的開始標簽
'after_title' => '</h3>' // 標題的結束標簽
));
}
?>
sidebar.php
<div id="sidebar">
<ul class="widgets">
<?php // 如果沒有使用 Widget 才顯示以下內容, 否則會顯示 Widget 定義的內容
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) :
?>
<!-- widget 1 -->
<li class="widget">
<h3>標題 1</h3>
<ul>
<li>條目 1.1</li>
<li>條目 1.2</li>
<li>條目 1.3</li>
</ul>
</li>
<!-- widget 2 -->
<li class="widget">
<h3>標題 2</h3>
<ul>
<li>條目 2.1</li>
<li>條目 2.2</li>
<li>條目 2.3</li>
</ul>
</li>
<?php endif; ?>
</ul>
</div>
雙側邊欄
functions.php
<?php
if( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Sidebar_1', // 側邊欄 1 的名稱
'before_widget' => '<li class="widget">', // widget 的開始標簽
'after_widget' => '</li>', // widget 的結束標簽
'before_title' => '<h3>', // 標題的開始標簽
'after_title' => '</h3>' // 標題的結束標簽
));
register_sidebar(array(
'name' => 'Sidebar_2', // 側邊欄 2 的名稱
'before_widget' => '<li class="widget">', // widget 的開始標簽
'after_widget' => '</li>', // widget 的結束標簽
'before_title' => '<h3>', // 標題的開始標簽
'after_title' => '</h3>' // 標題的結束標簽
));
}
?>
sidebar.php
<div id="sidebar_1">
<ul class="widgets">
<?php // 如果沒有在側邊欄 1 中使用 Widget 才顯示以下內容, 否則會顯示 Widget 定義的內容
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_1') ) :
?>
<!-- widget 1 -->
<li class="widget">
<h3>標題 1</h3>
<ul>
<li>條目 1.1</li>
<li>條目 1.2</li>
<li>條目 1.3</li>
</ul>
</li>
<?php endif; ?>
</ul>
</div>
<div id="sidebar_2">
<ul class="widgets">
<?php // 如果沒有在側邊欄 2 中使用 Widget 才顯示以下內容, 否則會顯示 Widget 定義的內容
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_2') ) :
?>
<!-- widget 2 -->
<li class="widget">
<h3>標題 2</h3>
<ul>
<li>條目 2.1</li>
<li>條目 2.2</li>
<li>條目 2.3</li>
</ul>
</li>
<?php endif; ?>
</ul>
</div>
N 側邊欄
請使用數學歸納法進行推理XD