在建立 WordPress 主題時只需要使用兩個檔案:index.php 檔案(充當網站的主模板檔案)和 style。 css 文件,這是您網站的主要樣式文件。還有第三個文件,名稱為 functions.php,它實際上不是必需的,但在主題中仍然發揮著重要作用。
在本教程中,我們的重點將是了解 functions.php 檔案是什麼、它的一些常見用途以及何時應該使用它而不是建立插件。讓我們開始吧。
WordPress 中的functions.php 檔案用於為您的 WordPress 網站新增功能或功能。您可以在此文件中編寫 PHP 程式碼。此程式碼可以定義您自己的自訂函數或呼叫現有的 WordPress 函數。我們將在下一節中了解如何透過 functions.php 檔案為您的 WordPress 網站新增功能。
一個 WordPress 安裝完全有可能有多個主題。每個主題都有自己的 functions.php 檔案。但是,當有人載入您的網站時,只有活動主題的 functions.php 檔案中的程式碼才會真正運作。
您需要先找到 functions.php 文件,然後才能對其進行編輯。您可以在 /wp-content/themes/theme-name/ 目錄中找到它。這裡,主題名稱是您已安裝並啟動的任何主題的名稱。
您在網站上安裝的任何子主題也可以有自己的 functions.php 檔案。與其他主題不同,子主題的 functions.php 檔案不會覆寫父主題的 functions.php 檔案。它實際上會添加父主題提供的功能。
您可以使用 functions.php 檔案執行很多操作。我們將在這裡了解其中一些內容。
您可能希望在網站中包含其他腳本和樣式以載入到前端。實現此目的的最佳方法是藉助 wp_enqueue_scripts
掛鉤。與它的名字相反,這個鉤子對於將腳本和樣式排入隊列非常有用。以下是在 functions.php 檔案中使用它的範例。
function monty_scripts_styles() { wp_enqueue_style( 'my-style', get_template_directory_uri() . '/css/custom-style.css', array(), '1.2.0', 'all' ); wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/custom-script.js', array( 'jquery' ), '1.5.6', true ); } add_action( 'wp_enqueue_scripts', 'monty_scripts_styles' );
使用 wp_enqueue_scripts
掛鉤新增樣式和腳本可確保檔案不會多次載入等,從而提高效能。您可以閱讀本教程,了解如何以正確的方式將 CSS 載入到 WordPress 中,以了解更多資訊。
wp_enqueue_style()
和 wp_enqueue_script()
函數接受多個參數來指定來源、版本、依賴項等。
WordPress 短程式碼可協助人們在其網站上添加動態或靜態內容,而無需編寫複雜的程式碼。想想諸如最新帖子列表、圖庫中的一些圖像、當前日期或簡單的問候之類的內容。
您可以在 functions.php 檔案中編寫一些程式碼來新增自訂短程式碼。
function monty_greeting_shortcode() { $current_user = wp_get_current_user(); if($current_user) { $name = $current_user->display_name; } else { $name = 'Guest'; } $greeting = 'Hello, '.$name.'!'; return $greeting; } add_shortcode( 'greet_readers', 'monty_greeting_shortcode' );
這是一個非常簡單的範例,您可以在前端的任何位置使用greet_readers
短代碼為登入使用者新增問候語Hello, Display Name! 和Hello , Guest! 對於其他人。
現在嘗試編寫您自己的短程式碼來傳回您想要顯示的內容。
出於多種原因,您可能有興趣檢查您網站的 WordPress 版本。
但是,此資訊不應公開可見。 WordPress 新增了一個產生器元標記,該標記可在 HTML 原始碼中公開顯示您網站上目前安裝的 WordPress 版本。您只需將以下行新增至 functions.php 檔案即可刪除生成器標記。
add_action( 'wp_head', 'wp_generator');
如果您還想從其他地方(例如 RSS 提要)刪除訊息,可以考慮使用以下行。
add_filter('the_generator', '__return_empty_string');
內建的 __return_empty_string()
函數將傳回空字串,並阻止您的版本資訊顯示在前端。
預設情況下,WordPress 在前端頂部為所有登入使用者新增了一個管理工具列。您可以在 functions.php 檔案中新增以下行,以立即對所有人停用它。
add_filter( 'show_admin_bar', '__return_false' );
請記住,無法在後端停用 WordPress 管理工具列。
虽然通常不建议您在网站上禁用 WordPress 自动更新,但您可能出于多种原因想要这样做,例如防止意外故障。您应该阅读本教程以了解有关 WordPress 自动更新的更多信息。
如果您确定要禁用 WordPress 自动更新,请将以下行添加到您的 functions.php 文件中。
add_filter('auto_update_core', '__return_false'); add_filter('auto_update_theme', '__return_false'); add_filter('auto_update_plugin', '__return_false');
这三行将分别禁用核心更新、主题更新和插件更新。
在本教程中,我们学习了很多有关 functions.php 文件的知识。我们现在知道这个文件是什么、它位于哪里,以及如何使用它向我们的网站添加新功能。还可以使用插件向您的网站添加功能。那么最好的方法是什么?
如果您要添加的功能是特定于主题的,或者您只想添加一点点新功能,则应该考虑使用 functions.php 文件。为每件小事创建和安装新插件都会损害您网站的性能。
以上是WordPress 中 5 個functions.php 檔案的實際應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!