從0到1制作WordPress主題#11使用小工具widgets

這一章節(jié)盟蚣,我們學(xué)習(xí)如何在主題中創(chuàng)建窗口小工具。 我們將有一個(gè)小工具位置卖怜,這將位于側(cè)邊欄中屎开。
1、打開(kāi)index.php马靠,找到class=main的div標(biāo)簽奄抽,在其結(jié)束標(biāo)簽下方創(chuàng)建一個(gè)class=sidebar的div,和一個(gè)class=clr的div用于清除浮動(dòng)甩鳄,代碼如下:

<div class="sidebar">
    Sidebar
</div> 

<div class="clr"></div>

保存代碼刷新前端頁(yè)面:

Sidebar

2逞度、現(xiàn)在我們將.main div浮動(dòng)并設(shè)置寬度,然后讓側(cè)邊欄浮動(dòng)到右邊妙啃,我們?cè)跇邮奖碇?strong>修改如下代碼:

.main{
    margin:15px 0;
    float:left;
    width:68%; 
}

然后為側(cè)邊欄添加樣式档泽;將其向右浮動(dòng),我們將設(shè)置28%的寬度揖赴,并清除浮動(dòng)茁瘦,如下面的代碼所示:

.sidebar{
    float:right;
    width:28%;
} 
.clr{
    clear:both;
}

3、現(xiàn)在我們將main div里面的container div拿到其外部储笑,將main和sidebar包裹在內(nèi)甜熔,代碼大致如下:

<div class="container"> 
    <div class="main">
    ......
    <div class="sidebar">
        Sidebar
    </div>
    <div class="clr"></div>
</div>

回到前端刷新頁(yè)面,現(xiàn)在我們有了main區(qū)域和側(cè)邊欄區(qū)域


區(qū)域劃分

4突倍、接下來(lái)腔稀,我們將看到如何添加小工具,我們轉(zhuǎn)到functions.php羽历。 在這里焊虏,我們可以使用小部件并定義我們想要小工具顯示的位置。我們將深入到文件的最底層并創(chuàng)建一個(gè)函數(shù)秕磷,如下面的代碼塊所示诵闭。 我們將其稱(chēng)為init_widgets,并且將接收id,我們將其稱(chēng)之為register_sidebar疏尿。
我們將使用register_sidebar創(chuàng)建一個(gè)側(cè)邊欄小工具瘟芝,實(shí)際上無(wú)論你的小部件創(chuàng)建在哪里,底部或是標(biāo)題位置褥琐,都必須使用register_sidebar锌俱,它的功能就是用于實(shí)際注冊(cè)小工具位置的。
在functions.php文件內(nèi)下方加入如下新代碼然后保存敌呈。

//Widget Locations
function init_widgets($id){
    register_sidebar(array(
        'name' => 'Sidebar',
        'id' => 'sidebar',
        'before_widget' => '<div class="side-widget">','after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>'
    ));
} 

add_action('widgets_init', 'init_widgets'); 

返回后臺(tái)頁(yè)面刷新贸宏,看到如下頁(yè)面:

小公具頁(yè)面(widget)

5、我們把“分類(lèi)目錄”和“近期文章”小工具拖動(dòng)到Sidebar磕洪。

Sidebar內(nèi)工具

此時(shí)回到前端刷新吭练,不會(huì)發(fā)現(xiàn)任何變化,因?yàn)槲覀冞€沒(méi)在模板中添加它析显。讓我們來(lái)看看我們?cè)趇ndex.php文件中有Sidebar的位置线脚,加入以下代碼用來(lái)檢查窗口小工具

<div class="sidebar">
    <?php if(is_active_sidebar('sidebar')) : ?>
    <?php dynamic_sidebar('sidebar'); ?>
    <?php endif; ?>
</div> 

回到前端來(lái)刷新一下,我們得到了“分類(lèi)目錄”和“近期文章”小公具

小公具出現(xiàn)

6叫榕、還記得我們?cè)趂unctions.php文件中放了一個(gè)side-widget類(lèi)浑侥,它可以方便我們使用style.css文件設(shè)置小工具樣式,如下面的代碼塊所示晰绎,我們?yōu)樾」ぞ咛砑右恍邮?/p>

.side-widget{
    border:1px #ccc solid;
    padding:10px 10px;
    margin-bottom:20px;
    margin-top:20px;
}
.side-widget li{
    list-style: none;
    line-height:2.2em;
    border-bottom:dotted 1px #ccc;
} 
.side-widget a{
    text-decoration: none;
}

現(xiàn)在看起來(lái)就好多了

sidebar

7寓落、此時(shí)我們點(diǎn)擊導(dǎo)航或文章詳情頁(yè)時(shí),發(fā)現(xiàn)頁(yè)面出現(xiàn)了問(wèn)題荞下,這是因?yàn)槲覀冎辉趇ndex.php中修改了containermain的層級(jí)關(guān)系伶选,我們把在index.php中修改和添加的代碼復(fù)制粘貼到page.phpsingle.php文件中。

    <div class="sidebar">
        <?php if(is_active_sidebar('sidebar')) : ?>
        <?php dynamic_sidebar('sidebar'); ?>
        <?php endif; ?>
    </div>
    <div class="clr"></div>
</div>

<?php get_footer(); ?>

現(xiàn)在檢查各個(gè)頁(yè)面尖昏,應(yīng)該都恢復(fù)正常了仰税。

8、所有不同的格式和所有不同的頁(yè)面都已設(shè)置; 它們都有了側(cè)邊欄抽诉。 當(dāng)然陨簇,如果你不想要哪個(gè)頁(yè)面顯示側(cè)邊欄,你只需修改相應(yīng)頁(yè)面迹淌。 如果我們想稍微減少代碼河绽,我們可以將以下代碼放在footer.php中:

    <div class="sidebar">
        <?php if(is_active_sidebar('sidebar')) : ?>
        <?php dynamic_sidebar('sidebar'); ?>
        <?php endif; ?>
    </div>
    <div class="clr"></div>
</div>

將其放在footer.php中后,我們來(lái)展示一下footer.php中的代碼:

    <div class="sidebar">
        <?php if(is_active_sidebar('sidebar')) : ?>
        <?php dynamic_sidebar('sidebar'); ?>
        <?php endif; ?>
    </div>
    <div class="clr"></div>
</div>

<footer>
    <div class="container"> 
    <p>&copy; 2018 - <?php bloginfo('name'); ?></p>
    </div>
</footer>

<?php wp_footer(); ?>
</body>
</html>

我們同樣需要將page.php唉窃、index.php和single.php中相對(duì)應(yīng)的以下代碼刪掉:

    <div class="sidebar">
        <?php if(is_active_sidebar('sidebar')) : ?>
        <?php dynamic_sidebar('sidebar'); ?>
        <?php endif; ?>
    </div>
    <div class="clr"></div>
</div>

保存代碼并返回前端頁(yè)面刷新耙饰,所有頁(yè)面顯示都正常。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纹份,一起剝皮案震驚了整個(gè)濱河市苟跪,隨后出現(xiàn)的幾起案子廷痘,更是在濱河造成了極大的恐慌,老刑警劉巖件已,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笋额,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拨齐,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)昨寞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瞻惋,“玉大人,你說(shuō)我怎么就攤上這事援岩〖呃牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵享怀,是天一觀的道長(zhǎng)羽峰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)添瓷,這世上最難降的妖魔是什么梅屉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮鳞贷,結(jié)果婚禮上坯汤,老公的妹妹穿的比我還像新娘。我一直安慰自己搀愧,他們只是感情好惰聂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著咱筛,像睡著了一般搓幌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迅箩,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天溉愁,我揣著相機(jī)與錄音,去河邊找鬼饲趋。 笑死叉钥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的篙贸。 我是一名探鬼主播投队,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼爵川!你這毒婦竟也來(lái)了敷鸦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扒披,沒(méi)想到半個(gè)月后值依,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碟案,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年愿险,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片价说。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辆亏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鳖目,到底是詐尸還是另有隱情扮叨,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布领迈,位于F島的核電站彻磁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏狸捅。R本人自食惡果不足惜衷蜓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尘喝。 院中可真熱鬧恍箭,春花似錦、人聲如沸瞧省。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鞍匾。三九已至交洗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間橡淑,已是汗流浹背构拳。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留梁棠,地道東北人置森。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像符糊,于是被迫代替她去往敵國(guó)和親凫海。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 1男娄、通過(guò)CocoaPods安裝項(xiàng)目名稱(chēng)項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,969評(píng)論 3 119
  • FEB 27,2015 Pbook 個(gè)人閱讀筆記 公司進(jìn)化論——偉大的企業(yè)如何持續(xù)創(chuàng)新 機(jī)械工業(yè)出版社行贪,2014 ...
    Pbook閱讀 1,900評(píng)論 3 8
  • 越是成大事者漾稀,修養(yǎng)越足,脾氣越好建瘫。順豐順?biāo)臅r(shí)候崭捍,每個(gè)人都能保持好的脾氣,不亂發(fā)脾氣啰脚。當(dāng)遇到困難和讓人難堪事...
    孤燈邪影閱讀 292評(píng)論 0 0
  • 2018.5.9. 星期三 天氣晴 今天很高興殷蛇,因?yàn)槲医裉烊W(xué)校執(zhí)勤,做一次護(hù)花使者哈哈……早早起床和女兒...
    娟兒_064c閱讀 189評(píng)論 2 1
  • 在iOS 10.0 之前我們是可以直接用 openURL來(lái)打開(kāi)設(shè)置頁(yè)面橄浓、其他APP應(yīng)用粒梦。 可是在iOS以后就不能直...
    iOS開(kāi)發(fā)小學(xué)生閱讀 10,316評(píng)論 0 0