創建 WordPress 主題時只需要使用兩個文件:index.php 文件(充當網站的主模板文件)和 style。愛掏網 - it200.com css 文件,這是您網站的主要樣式文件。愛掏網 - it200.com還有第三個文件,名為 functions.php,它實際上不是必需的,但在主題中仍然發揮著重要作用。愛掏網 - it200.com
在本教程中,我們的重點將是了解 functions.php 文件是什么、它的一些常見用途以及何時應該使用它而不是創建插件。愛掏網 - it200.com讓我們開始吧。愛掏網 - it200.com
functions.php 文件是什么?
WordPress 中的functions.php 文件用于向您的 WordPress 網站添加新功能或特性。愛掏網 - it200.com您可以在此文件中編寫 PHP 代碼。愛掏網 - it200.com此代碼可以定義您自己的自定義函數或調用現有的 WordPress 函數。愛掏網 - it200.com我們將在下一節中了解如何通過 functions.php 文件向您的 WordPress 網站添加新功能。愛掏網 - it200.com
一個 WordPress 安裝完全有可能有多個主題。愛掏網 - it200.com每個主題都有自己的 functions.php 文件。愛掏網 - it200.com但是,當有人加載您的網站時,只有活動主題的 functions.php 文件中的代碼才會真正運行。愛掏網 - it200.com
您需要先找到 functions.php 文件,然后才能對其進行編輯。愛掏網 - it200.com您可以在 /wp-content/themes/theme-name/ 目錄中找到它。愛掏網 - it200.com這里,主題名稱是您已安裝并激活的任何主題的名稱。愛掏網 - it200.com
您在網站上安裝的任何子主題也可以有自己的 functions.php 文件。愛掏網 - it200.com與其他主題不同,子主題的 functions.php 文件不會覆蓋父主題的 functions.php 文件。愛掏網 - it200.com它實際上會添加父主題提供的功能。愛掏網 - it200.com
functions.php 文件的使用
您可以使用 functions.php 文件執行很多操作。愛掏網 - it200.com我們將在這里了解其中一些內容。愛掏網 - it200.com
排隊腳本和樣式
您可能希望在網站中包含其他腳本和樣式以加載到前端。愛掏網 - it200.com實現此目的的最佳方法是借助 wp_enqueue_scripts
掛鉤。愛掏網 - it200.com與它的名字相反,這個鉤子對于將腳本和樣式排入隊列非常有用。愛掏網 - it200.com以下是在 functions.php 文件中使用它的示例。愛掏網 - it200.com
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
掛鉤添加樣式和腳本可確保文件不會多次加載等,從而提高性能。愛掏網 - it200.com您可以閱讀本教程,了解如何以正確的方式將 CSS 加載到 WordPress 中,以了解更多信息。愛掏網 - it200.com
wp_enqueue_style()
和 wp_enqueue_script()
函數接受多個參數來指定源、版本、依賴項等。愛掏網 - it200.com
創建自定義短代碼
WordPress 短代碼可幫助人們向其網站添加動態或靜態內容,而無需編寫復雜的代碼。愛掏網 - it200.com想想諸如最新帖子列表、圖庫中的一些圖像、當前日期或簡單的問候之類的內容。愛掏網 - it200.com
您可以在 functions.php 文件中編寫一些代碼來添加自定義短代碼。愛掏網 - it200.com
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! 對于其他人。愛掏網 - it200.com
現在嘗試編寫您自己的短代碼來返回您想要顯示的內容。愛掏網 - it200.com
刪除 WordPress 版本號
出于多種原因,您可能有興趣檢查您網站的 WordPress 版本。愛掏網 - it200.com
但是,此信息不應公開可見。愛掏網 - it200.com WordPress 添加了一個生成器元標記,該標記可在 HTML 源代碼中公開顯示您網站上當前安裝的 WordPress 版本。愛掏網 - it200.com您只需將以下行添加到 functions.php 文件即可刪除生成器標記。愛掏網 - it200.com
add_action( 'wp_head', 'wp_generator');登錄后復制
如果您還想從其他地方(例如 RSS 提要)刪除信息,可以考慮使用以下行。愛掏網 - it200.com
add_filter('the_generator', '__return_empty_string');登錄后復制
內置的 __return_empty_string()
函數將返回一個空字符串,并阻止您的版本信息顯示在前端。愛掏網 - it200.com
禁用 WordPress 管理工具欄
默認情況下,WordPress 在前端頂部為所有登錄用戶添加了一個管理工具欄。愛掏網 - it200.com您可以在 functions.php 文件中添加以下行,以立即對所有人禁用它。愛掏網 - it200.com
add_filter( 'show_admin_bar', '__return_false' );登錄后復制
請記住,無法在后端禁用 WordPress 管理工具欄。愛掏網 - it200.com
禁用 WordPress 自動更新
雖然通常不建議您在網站上禁用 WordPress 自動更新,但您可能出于多種原因想要這樣做,例如防止意外故障。愛掏網 - it200.com您應該閱讀本教程以了解有關 WordPress 自動更新的更多信息。愛掏網 - it200.com
如果您確定要禁用 WordPress 自動更新,請將以下行添加到您的 functions.php 文件中。愛掏網 - it200.com
add_filter('auto_update_core', '__return_false'); add_filter('auto_update_theme', '__return_false'); add_filter('auto_update_plugin', '__return_false');登錄后復制
這三行將分別禁用核心更新、主題更新和插件更新。愛掏網 - it200.com
最終想法
在本教程中,我們學習了很多有關 functions.php 文件的知識。愛掏網 - it200.com我們現在知道這個文件是什么、它位于哪里,以及如何使用它向我們的網站添加新功能。愛掏網 - it200.com還可以使用插件向您的網站添加功能。愛掏網 - it200.com那么最好的方法是什么?
如果您要添加的功能是特定于主題的,或者您只想添加一點點新功能,則應該考慮使用 functions.php 文件。愛掏網 - it200.com為每件小事創建和安裝新插件都會損害您網站的性能。愛掏網 - it200.com
以上就是WordPress 中functions.php 文件的 5 個實際應用的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!