新聞中心
在本教程中,我們將深入研究wordpress函數(shù)文件。我們將討論它的工作原理以及您可以在哪里找到它。最后,我們將向您展示一些可以對functions.php文件進(jìn)行的有趣的調(diào)整。

要參與WordPress開發(fā),您首先需要了解平臺最重要的文件是如何工作的。WordPress可以很容易地開始修改您的網(wǎng)站。然而,可能很難知道從哪里開始——或預(yù)測您的更改實際上會做什么。
一個完美的學(xué)習(xí)場所是functions.php文件,它也被稱為functions文件。這是進(jìn)行更改和向WordPress添加代碼的常見位置。通過編輯此文件,您可以完成一些有用的事情,例如將Google Analytics統(tǒng)計代碼添加到您的站點(diǎn)、創(chuàng)建自定義菜單或顯示文章的估計閱讀時間。
什么是functions.php文件?
WordPress的functions.php文件包含在所有免費(fèi)和付費(fèi)WordPress主題中。對于未受過訓(xùn)練的人來說,它可能看起來不多,但函數(shù)文件是一個強(qiáng)大的工具,可以讓您做很多有趣的事情。
在WordPress Codex這樣描述的功能文件:
您可以使用它來調(diào)用函數(shù),包括PHP和內(nèi)置WordPress,并定義您自己的函數(shù)。您可以通過向WordPress插件或通過WordPress主題功能文件添加代碼來產(chǎn)生相同的結(jié)果。
簡單來說,函數(shù)文件使您能夠向站點(diǎn)添加自定義代碼。它允許您以自定義方式創(chuàng)建新函數(shù)或引用現(xiàn)有函數(shù)。正如Codex指出的那樣,這使得函數(shù)文件非常類似于插件,但兩者之間存在一些差異。
最重要的區(qū)別是函數(shù)文件屬于特定主題。如果您要更改主題或更新到更新版本,您所做的更改將會消失。出于這個原因,您應(yīng)該考慮創(chuàng)建一個子主題并將新代碼添加到子主題的函數(shù)文件中。這樣,您可以在不丟失更改的情況下更新父主題。
是選擇使用函數(shù)文件還是創(chuàng)建插件完全取決于您,具體取決于您的需要?,F(xiàn)在讓我們看看編輯函數(shù)文件的不同方式。
如何編輯函數(shù)文件
編輯函數(shù)文件就像使用標(biāo)準(zhǔn)文本編輯器(如 TextEdit 或記事本)一樣簡單。在開始之前,創(chuàng)建站點(diǎn)的備份并保存原始的、未經(jīng)編輯的functions.php文件非常重要。這將使您能夠在編輯過程中出現(xiàn)問題時恢復(fù)您的站點(diǎn)。
1. 使用WordPress編輯器
如果您有權(quán)訪問 WordPress 管理界面,則可以直接從主題編輯器編輯功能文件。轉(zhuǎn)到外觀 > 主題編輯器。
在屏幕的右側(cè),您可以看到主題中包含的所有文件的列表。這些因您使用的主題而異,但最重要的選項之一應(yīng)該是Theme Functions (functions.php)。只需單擊該文件即可在編輯器中打開它。
現(xiàn)在,您可以直接編輯文件。完成后,不要忘記單擊底部的更新文件以保存更改。
2.通過FTP訪問文件
如果您無法使用管理儀表板或更喜歡直接配置文件,您還可以使用FileZilla等FTP工具訪問功能文件。
打開您的FTP工具并輸入服務(wù)器賬號信息以連接到您的站點(diǎn)。要找到正確的文件,請導(dǎo)航到wp-content/themes/[the name of your theme]。當(dāng)您打開此文件夾時,您將看到functions.php文件。
您現(xiàn)在要做的就是使用您喜歡的文本編輯軟件對其進(jìn)行編輯。完成更改后,使用完全相同的名稱和擴(kuò)展名保存并覆蓋函數(shù)文件。
使用WordPress函數(shù)文件的一些小Case
您現(xiàn)在應(yīng)該可以開始編輯您的函數(shù)文件了。為了讓您開始,以下是您可以進(jìn)行的各種調(diào)整的一些示例。您需要做的就是復(fù)制提供的代碼片段并將它們粘貼到函數(shù)文件最底部的新行上(不要忘記保存它?。?。
1. 將Google Analytics添加到您的網(wǎng)站
有多種方法可以將Google Analytics與您的WordPress網(wǎng)站集成。其中之一是將您的憑據(jù)直接添加到函數(shù)文件中。這會將分析跟蹤插入您網(wǎng)站的標(biāo)題中,確保正確捕獲每次訪問。
首先將以下代碼粘貼到函數(shù)文件的底部:
// Replace this line with your Google Analytics Tracking ID
您現(xiàn)在要做的就是找到您的跟蹤ID并將其粘貼到包含占位符文本的行中。當(dāng)您保存函數(shù)文件時,您的站點(diǎn)將連接到您的Google Analytics帳戶。
2. 更改默認(rèn)登錄錯誤信息
默認(rèn)情況下,當(dāng)有人嘗試登錄WordPress網(wǎng)站失敗時,他們會看到如下錯誤消息:
這并不理想,因為該站點(diǎn)正在向潛在入侵者提供有關(guān)嘗試失敗的原因的信息。更安全的解決方案是將其更改為通用消息。
您可以通過將以下代碼添加到您的函數(shù)文件中輕松完成此操作:
function no_wordpress_errors(){
return 'Something went wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
看到“Something went wrong!” 第二行的消息?這是下次發(fā)生錯誤登錄嘗試時將出現(xiàn)的消息:
只要保留單引號字符,您就可以將其更改為您想要的任何內(nèi)容。嘗試使用不同的消息,看看它是如何工作的。
3. 添加文章的預(yù)計閱讀時間
這個巧妙的技巧使您能夠計算和顯示閱讀帖子所需的估計時間。然后,您的訪問者可以立即大致了解內(nèi)容的時長。
要實現(xiàn)此代碼,您需要進(jìn)行兩次單獨(dú)的編輯。第一個像往常一樣對函數(shù)文件完成,您需要在其中粘貼以下代碼段:
function reading_time() {
$content = get_post_field( 'post_content', $post->ID );
$word_count = str_word_count( strip_tags( $content ) );
$readingtime = ceil($word_count / 200);
if ($readingtime == 1) {
$timer = " minute";
} else {
$timer = " minutes";
}
$totalreadingtime = $readingtime . $timer;
return $totalreadingtime;
}
但是,這僅執(zhí)行計算。您現(xiàn)在需要在想要顯示結(jié)果的任何位置添加以下代碼:
echo reading_time();
例如,您可以將其添加到每個文章旁邊顯示的元數(shù)據(jù)中。每個主題的構(gòu)造都不同,但在二〇一七主題中,它位于template-parts > post > content.php 中。
預(yù)計閱讀時間現(xiàn)在將出現(xiàn)在每個文章的標(biāo)題中,并與日期一起顯示。
4.刪除WordPress版本號
舊版本的WordPress可能包含惡意黑客和機(jī)器人可以利用的安全漏洞。避免這種風(fēng)險的一種方法是隱藏您的網(wǎng)站使用的 WordPress 版本。這被稱為通過默默無聞的安全。
在我們繼續(xù)之前,重要的是要注意,默默無聞不應(yīng)該是您唯一的安全措施。這更像是為您已經(jīng)安全的WordPress堡壘添加一個額外的堡壘。
隱藏您的版本號只需要您將以下非常簡單的代碼片段添加到函數(shù)文件中:
remove_action('wp_head', 'wp_generator');
現(xiàn)在將從您網(wǎng)站的所有區(qū)域中刪除版本號,包括其代碼和您的RSS提要。
5. 自動更新您的版權(quán)聲明
更新版權(quán)聲明中的年份是很容易忘記的小任務(wù)之一。你可以跟上的一種方法是使用這個技巧,它會根據(jù)你第一篇文章的發(fā)表年份自動生成版權(quán)日期。
將以下代碼粘貼到您的函數(shù)文件中:
function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "? " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
然后在要顯示版權(quán)信息的任何位置添加以下代碼:
您現(xiàn)在將在您的網(wǎng)站上看到動態(tài)更新的版權(quán)日期。
在本例中,我們將日期添加到footer.php文件中,以便將其顯示在頁面底部。
6. 添加自定義菜單
大多數(shù)主題都有預(yù)定義的導(dǎo)航菜單,但如果您想創(chuàng)建自己的菜單并將其放置在網(wǎng)站上的任何位置,該怎么辦?您需要做的就是將此代碼粘貼到您的函數(shù)文件中:
function wpb_custom_new_menu() {
register_nav_menu('my-custom-menu',__( 'My Customized Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
您可以將“我的自定義菜單”替換為您要為菜單命名的名稱。如果您轉(zhuǎn)到管理區(qū)域中的外觀 > 菜單,您應(yīng)該會看到列出的新選項。
您現(xiàn)在可以在站點(diǎn)的任何位置添加新菜單。
'my-custom-menu', 'container_class' => 'custom-menu-class' ) ); ?>
最常見的是,您需要將此代碼放在header.php文件中。
7. 自定義您的摘要
摘要是您文章的簡短示例描述,可以顯示在您的主頁或搜索結(jié)果中,而不是完整的文章內(nèi)容。默認(rèn)情況下,所有摘錄都具有相同的長度和鏈接文本,但您可以更改它。
首先,讓我們更改將您從摘要帶到完整文章的鏈接的文本。這通常是“閱讀更多”或“繼續(xù)閱讀”,但您可以通過將以下代碼段粘貼到您的函數(shù)文件中來制作任何您想要的內(nèi)容:
function new_excerpt_more($more) {
global $post;
return ' Read the full article...';
}
add_filter('excerpt_more', 'new_excerpt_more');
這里的鏈接文本已設(shè)置為Read the full article…:
然后,讓我們更改摘要的長度。將此代碼粘貼到您的函數(shù)文件中:
function new_excerpt_length($length) {
return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');
默認(rèn)情況下,標(biāo)準(zhǔn)長度為55個字。在本例中,它被設(shè)置為20。您可以將數(shù)字更改為您想要的任何值。
8. 為您的網(wǎng)站添加隨機(jī)背景
最后,讓我們以一個有趣的設(shè)計技巧結(jié)束。此調(diào)整使您可以在每次有人訪問網(wǎng)站時為您的網(wǎng)站隨機(jī)生成新的背景顏色。首先將以下代碼添加到函數(shù)文件中:
function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}
此代碼為顏色生成HTML標(biāo)記,因此您現(xiàn)在需要做的就是確保將其應(yīng)用于頁面。為此,您需要找到
標(biāo)簽,它應(yīng)該如下所示:>
這通常位于header.php文件中,但也可以在其他地方,具體取決于您的主題。找到正確的行后,只需將其替換為以下代碼:
style="background-color:">>
立即保存您的文件并打開您的網(wǎng)站。您應(yīng)該會看到它具有新的背景顏色。
重新加載頁面,您每次都會看到一種新顏色。
這顯然不是每個網(wǎng)站的正確設(shè)計選擇,但對某些網(wǎng)站來說這是一個巧妙的技巧。
小結(jié)
WordPress網(wǎng)站主題的functions.php文件是開始學(xué)習(xí)如何修改站點(diǎn)默認(rèn)功能的理想場所。這是一個功能強(qiáng)大的文件,一旦您了解它的工作原理,您就可以對其進(jìn)行大量控制。
名稱欄目:WordPress函數(shù)文件Functions.php教程指南
分享網(wǎng)址:http://www.dlmjj.cn/article/cdeiggc.html


咨詢
建站咨詢
