現(xiàn)在我們轉(zhuǎn)到下圖顯示的表單添加帖子迂烁,會發(fā)現(xiàn)你看不到在其他WordPress主題或其他WordPress網(wǎng)站上看到過的特色圖片框麦轰。 原因是我們沒有包含該功能怜庸。
1、進(jìn)入我們的主題文件夾simple米绕,我們將創(chuàng)建一個叫functions.php的文件[1]瑟捣,用于放置一些鉤子和一些自定義功能,通過它可以掛鉤某些代碼栅干,注冊一些widgets迈套,動態(tài)的實(shí)現(xiàn)一些基礎(chǔ)功能。
2碱鳞、在functions.php中添加以下代碼并保存:
<?php
function simple_theme_setup(){
// Featured Image Support
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'simple_theme_setup');
回到寫文章的頁面刷新一下桑李,我們會看到右下角已經(jīng)多了一個特色圖片的功能:
我們來看看剛剛發(fā)生了什么:
- 首先創(chuàng)建了一個叫simple_theme_setup的自定義函數(shù)
- 注釋該函數(shù)是用來添加特色圖片的
- 然后調(diào)用了一個名為add_theme_support的函數(shù),并傳入一個叫post-thumbnails的參數(shù)(現(xiàn)在這個函數(shù)并不會運(yùn)行)
- 使用add_action和某些鉤子來運(yùn)行這個函數(shù)(這里add_action的第一個參數(shù)是名叫after_setup_theme的鉤子窿给,第二個參數(shù)是我們自定義的需要運(yùn)行的函數(shù))
3贵白、現(xiàn)在,為了方便學(xué)習(xí)填大,我將之前文章中插入的圖片刪除戒洼,然后在特色圖片中選擇一個圖像并將其保存,然后單擊更新允华。
現(xiàn)在我們轉(zhuǎn)到前端刷新頁面圈浇,我們并沒有看到它寥掐,因?yàn)槲覀儧]有將它添加到我們的index.php文件中。
4磷蜀、打開index.php召耘,在meta下面添加代碼,如下所示:(不是一定要在index頁中顯示圖像褐隆,可以根據(jù)需要在單頁中顯示它污它,也可以讓它在兩個頁面都顯示)
<div class="meta">
Created By <?php the_author(); ?> on <?php the_time('F j, Y g:i a'); ?>
</div>
<?php if(has_post_thumbnail()) : ?>
<div class="post-thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<?php endif; ?>
保存代碼,返回前端頁面刷新庶弃,會看到meta元數(shù)據(jù)下方多了一張圖片:
5衫贬、現(xiàn)在,圖片看起來有點(diǎn)偏離歇攻,因?yàn)樗谡麄€頁面上沒有達(dá)到100%寬度固惯。打開樣式表在CSS中添加100%的寬度。
.post-thumbnail img{
width:100%;
height:auto;
}
刷新前端頁面缴守,我知道現(xiàn)在圖片真的很大葬毫,但后面我們會增加一個側(cè)邊欄,它會縮小一些屡穗。
6贴捡、現(xiàn)在我想讓單個帖子頁面也顯示圖片,我們從index.php中復(fù)制代碼粘貼到single.php中的meta下面村砂,保存并刷新前端頁面就能看到一樣的圖片了烂斋。
7、在index頁面上的帖子中础废,它顯示了整個內(nèi)容源祈,但我們只想顯示一部分內(nèi)容。在index.php中色迂,我們用the_excerpt替換the_content揍很,代碼如下:
<?php the_excerpt(); ?>
它將內(nèi)容削減到約55字幢炸。 你也可以自定義它,并根據(jù)需要加長或縮減垫挨,這實(shí)際上非常簡單:
找到functions.php文件锋拖,在之前的代碼下方創(chuàng)建一個自定義函數(shù)诈悍,如下所示:
// Excerpt Length
function set_excerpt_length(){
return 33;
}
add_filter('excerpt_length', 'set_excerpt_length');
此時文章內(nèi)容就被削減到33個字了;這次我們使用的是add_filter 兽埃,其通常用于改變某些東西侥钳;而之前使用的 add_action 通常用來添加?xùn)|西或創(chuàng)造東西。
返回前端重新加載頁面柄错,我們可以看到它只有33個字長舷夺。
現(xiàn)在我們已經(jīng)設(shè)置好了index頁面苦酱,除了評論之外,我們設(shè)置了單個帖子頁面给猾,我們稍后會做評論的設(shè)置疫萤。 但是,在下一節(jié)中敢伸,我們將學(xué)習(xí)如何創(chuàng)建菜單并開始處理頁面和帖子扯饶。
-
function.php是為了寫PHP代碼而存在的。把大量的PHP代碼和模板HTML混合在一起池颈,并不是一個好的方法尾序,會導(dǎo)致模板難以維護(hù),function.php模板就是為了解決這個問題而存在的躯砰。在初始化主題前每币,先會執(zhí)行function.php的代碼。就像主題專用的插件那樣弃揽,可以使用各種鉤子脯爪,進(jìn)行自定義操作。 ?