這節(jié)我們學(xué)習(xí)使用小公具
我們現(xiàn)在有個(gè)側(cè)邊欄,但是其內(nèi)容都是靜態(tài)的,我們把側(cè)邊欄替換成動(dòng)態(tài)的小公具。在博客頁(yè)面和任何其他頁(yè)面上,除了我們稍后將創(chuàng)建的自定義主頁(yè)之外,這將是唯一的小工具。我們將在functions文件中添加小工具的顯示位置。
打開(kāi)functions.php,然后找到after_theme_setup這行代碼;在這行代碼下方添加一些代碼,這些代碼用來(lái)設(shè)置小工具位置。
//Widget Locations
function init_widgets($id){
register_sidebar(array(
'name' => 'Sidebar',
'id' => 'sidebar',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
));
}
add_action('widgets_init', 'init_widgets');
現(xiàn)在我們跳轉(zhuǎn)到index.php中,查看側(cè)邊欄部分的代碼。
<div class="side">
<div class="block">
<h3>側(cè)邊欄</h3>
根據(jù)這部分代碼來(lái)修改剛剛添加到functions.php中的代碼:
'before_widget' => '<div class="block side-widget">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
然后再回到index文件中,修改側(cè)邊欄部分代碼:
<div class="side">
<?php if(is_active_sidebar('sidebar')) : ?>
<?php dynamic_sidebar('sidebar'); ?>
<?php endif; ?>
</div>
回到前端查看首頁(yè),側(cè)邊欄那里什么都沒(méi)有,因?yàn)槲覀儧](méi)有添加任何小部件

現(xiàn)在我們把所有文件中出現(xiàn)的靜態(tài)側(cè)邊欄代碼全部替換,archive、company-template、single、search、page、等頁(yè)。
現(xiàn)在到后臺(tái)打開(kāi)外觀 -> 小工具頁(yè)面,我們添加一個(gè)自定義文本小工具,放置一個(gè)標(biāo)題My Text Widget。 然后,我只需在內(nèi)容中粘貼一兩句話,然后點(diǎn)擊保存:

回到前端刷新。

回到后臺(tái),我們點(diǎn)擊文本選項(xiàng),然后我們可以在內(nèi)容里添加代碼,我們來(lái)添加一個(gè)按鈕,只是為了美觀,并不給按鈕添加功能。 你可以在自定義文本小部件中放置任何自己喜歡的內(nèi)容:

之后我們?cè)偬砑右粋€(gè)分類目錄小工具,點(diǎn)擊保存,然后到前端刷新頁(yè)面

我們打開(kāi)style.css文件,為分類目錄添加一些樣式:
.side-widget {
margin-bottom: 20px;
}
.side-widget li {
list-style: none;
line-height: 2.1em;
border-bottom: 1px dotted #ccc;
}
保存代碼,回到前端刷新,現(xiàn)在看起來(lái)好多了:

接下來(lái),我將其余的小工具添加到functions.php或其他小工具位置,即使我們?cè)诒竟?jié)中不會(huì)這樣做。 在下一節(jié)中,我們將使用這些小部件創(chuàng)建自定義主頁(yè)。
在functions.php中找到我們前面添加的 init_widgets()函數(shù),將函數(shù)內(nèi)部代碼塊復(fù)制粘貼4遍,然后修改剛剛粘貼的代碼塊,替換它們的名字和相應(yīng)的類名,代碼如下:
//Widget Locations
function init_widgets($id){
register_sidebar(array(
'name' => 'Sidebar',
'id' => 'sidebar',
'before_widget' => '<div class="block side-widget">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
register_sidebar(array(
'name' => 'Showcase',
'id' => 'showcase',
'before_widget' => '<div class="showcase">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
register_sidebar(array(
'name' => 'Box1',
'id' => 'box1',
'before_widget' => '<div class="box">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
register_sidebar(array(
'name' => 'Box2',
'id' => 'box2',
'before_widget' => '<div class="box">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
register_sidebar(array(
'name' => 'Box3',
'id' => 'box3',
'before_widget' => '<div class="box">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
}
add_action('widgets_init', 'init_widgets');
這些新復(fù)制粘貼的代碼決定了下一節(jié)課,定制主頁(yè)時(shí)一些小工具的顯示位置?,F(xiàn)在我們返回到后臺(tái)小工具區(qū)域,會(huì)看到多出幾個(gè)小工具顯示區(qū)域:

如果我們現(xiàn)在把東西放進(jìn)去,什么都不會(huì)發(fā)生,因?yàn)槲覀兊哪0逯袥](méi)有它們。