這節(jié)我們學(xué)習(xí)使用小公具
我們現(xiàn)在有個(gè)側(cè)邊欄拉背,但是其內(nèi)容都是靜態(tài)的锯玛,我們把側(cè)邊欄替換成動(dòng)態(tài)的小公具踏烙。在博客頁(yè)面和任何其他頁(yè)面上网棍,除了我們稍后將創(chuàng)建的自定義主頁(yè)之外黔龟,這將是唯一的小工具。我們將在functions文件中添加小工具的顯示位置滥玷。
打開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)打開外觀 -> 小工具頁(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è)面
我們打開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í)一些小工具的顯示位置∶鳎現(xiàn)在我們返回到后臺(tái)小工具區(qū)域,會(huì)看到多出幾個(gè)小工具顯示區(qū)域:
如果我們現(xiàn)在把東西放進(jìn)去似将,什么都不會(huì)發(fā)生获黔,因?yàn)槲覀兊哪0逯袥](méi)有它們。