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

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


咨詢
建站咨詢
