使用設置API創建WP主題設置頁面
鑰匙要點
-
WordPress設置API是創建主題設置頁面的流行工具,可以自定義功能,行為和样式,而無需直接編輯PHP或CSS文件。這使更新主題更加容易,並防止用戶所做的更改丟失。
- > 設置API允許自定義選項,例如社交配置文件,靜態或響應佈局之間的選擇以及徽標上傳。這些功能可以使用add_settings_section,add_settings_field和register_setting等函數添加。
- >使用設置API創建的設置可以使用get_option()函數在前端檢索,因為設置API使用選項API在內部存儲值。這使得易於訪問和利用主題中的自定義設置。 >
- >大多數WordPress主題都有一個主題設置頁面來自定義其功能,行為和样式。使用主題提供主題設置頁面,使您的用戶可以輕鬆自定義主題,而不是直接編輯PHP或CSS文件。這使更新主題更加容易,因為用戶不會丟失他們所做的更改。 在本教程中,我們將學習創建主題設置頁面的“ WordPress”推薦方法,即使用WordPress設置API。 WordPress設置API是在WordPress 2.7中添加的,此後已成為最受歡迎的WordPress API之一。如果您打算在WordPress插件中添加設置頁面,則本教程也將很有用。讓我們開始。
我們將在主題設置頁面中包括什麼?
> 主題設置頁面中的選項取決於主題支持的功能和自定義。也就是說,每個主題設置頁面中都有一些常見的內容。一些常見的選擇是:社交網址,靜態或響應式佈局和標頭徽標,僅舉幾例。在本教程中,我將向您展示如何在我們的主題設置頁面中包含這四個選項。
>創建一個主題設置頁菜單項
首先,我們必須在管理面板上創建一個菜單項,該菜單項將訪問我們的主題設置頁面。
>我們可以使用WordPress菜單API創建菜單項。這是創建菜單項的代碼。
>>在這裡,主題面板是代表我們菜單項的唯一ID。 them_settings_page是顯示菜單API創建的頁面內容的回調。我們將接下來對此功能進行編碼。
這是外觀。
<span>function theme_settings_page(){} </span> <span>function add_theme_menu_item() </span><span>{ </span> <span>add_menu_page("Theme Panel", "Theme Panel", "manage_options", "theme-panel", "theme_settings_page", null, 99); </span><span>} </span> <span>add_action("admin_menu", "add_theme_menu_item");</span>
設置api
的概述
>設置API用於填充菜單項API創建的頁面。設置頁面分為各節和字段。
這是theme_settings_page函數的代碼以創建一個部分並添加提交按鈕。
<span>function theme_settings_page(){} </span> <span>function add_theme_menu_item() </span><span>{ </span> <span>add_menu_page("Theme Panel", "Theme Panel", "manage_options", "theme-panel", "theme_settings_page", null, 99); </span><span>} </span> <span>add_action("admin_menu", "add_theme_menu_item");</span>
>在這裡,我們使用ID部分使用settings_field註冊一個部分。主題選項是屬於部分的所有字段的組ID。最後,submit_button()函數迴盪了我們主題設置頁面的提交按鈕。
這是應該看起來的樣子。

添加社交資料URL
現在,讓我們在設置頁面中添加字段以存儲我們的Facebook和Twitter個人資料URL。幾乎每個WordPress主題都有社交個人資料選項,因此這是一個方便,實用的例子。
這是使用設置API添加輸入文本字段的代碼。初始化管理面板後,我們將註冊各節和字段顯示回調。在這裡,我們使用了三個重要功能:
function theme_settings_page() { ?> <span><span><span><div</span> class<span>="wrap"</span>></span> </span> <span><span><span><h1</span>></span>Theme Panel<span><span></h1</span>></span> </span> <span><span><span><form</span> method<span>="post"</span> action<span>="options.php"</span>></span> </span> <span><span><?php </span></span><span> <span>settings_fields("section"); </span></span><span> <span>do_settings_sections("theme-options"); </span></span><span> <span>submit_button(); </span></span><span> <span>?></span> </span> <span><span><span></form</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><?php </span></span><span><span>}</span></span>
add_settings_section用於顯示部分標題和描述。
- >
- add_settings_field用於顯示字段的HTML代碼。
- register_setting被調用以自動保存字段值。
- 這是我們的設置頁面現在的樣子。 >
>我們現在已經看到瞭如何使用我們的設置頁面添加輸入文本字段。讓我們來看看如何通過在靜態或響應式佈局之間進行選擇來添加複選框。
>
>讓我們看看如何擴展display_theme_panel_fields函數以顯示一個複選框以在佈局之間進行選擇。
這是實現此目的的代碼。
>
>我們使用add_settings_field添加了一個新的設置字段,並像往常一樣使用register_settings進行了註冊。要注意的一件事,如果我們想確定用戶是否已選中了複選框,我們正在使用checked()函數。
>function display_twitter_element() { ?> <span><span><span><input</span> type<span>="text"</span> name<span>="twitter_url"</span> id<span>="twitter_url"</span> value<span>="<span><?php echo get_option('twitter_url'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_facebook_element() </span></span><span><span>{ </span></span><span> <span>?></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="facebook_url"</span> id<span>="facebook_url"</span> value<span>="<span><?php echo get_option('facebook_url'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_theme_panel_fields() </span></span><span><span>{ </span></span><span> <span>add_settings_section("section", "All Settings", null, "theme-options"); </span></span><span> </span><span> <span>add_settings_field("twitter_url", "Twitter Profile Url", "display_twitter_element", "theme-options", "section"); </span></span><span> <span>add_settings_field("facebook_url", "Facebook Profile Url", "display_facebook_element", "theme-options", "section"); </span></span><span> </span><span> <span>register_setting("section", "twitter_url"); </span></span><span> <span>register_setting("section", "facebook_url"); </span></span><span><span>} </span></span><span> </span><span><span>add_action("admin_init", "display_theme_panel_fields");</span></span>
這是我們的設置頁面現在的外觀。
上傳徽標
這是在我們的設置頁面上上傳徽標的代碼。
>>在這裡,我們使用wp_handle_upload來存儲圖像文件並檢索其URL並將其作為選項存儲。
這是我們的設置頁面現在的外觀,它很好地塑造了!
function display_twitter_element() { ?> <span><span><span><input</span> type<span>="text"</span> name<span>="twitter_url"</span> id<span>="twitter_url"</span> value<span>="<span><?php echo get_option('twitter_url'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_facebook_element() </span></span><span><span>{ </span></span><span> <span>?></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="facebook_url"</span> id<span>="facebook_url"</span> value<span>="<span><?php echo get_option('facebook_url'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_layout_element() </span></span><span><span>{ </span></span><span> <span>?></span> </span> <span><span><span><input</span> type<span>="checkbox"</span> name<span>="theme_layout"</span> value<span>="1"</span> <span><span><?php checked(1, get_option('theme_layout'), true); ?></span></span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function display_theme_panel_fields() </span></span><span><span>{ </span></span><span> <span>add_settings_section("section", "All Settings", null, "theme-options"); </span></span><span> </span><span> <span>add_settings_field("twitter_url", "Twitter Profile Url", "display_twitter_element", "theme-options", "section"); </span></span><span> <span>add_settings_field("facebook_url", "Facebook Profile Url", "display_facebook_element", "theme-options", "section"); </span></span><span> <span>add_settings_field("theme_layout", "Do you want the layout to be responsive?", "display_layout_element", "theme-options", "section"); </span></span><span> </span><span> <span>register_setting("section", "twitter_url"); </span></span><span> <span>register_setting("section", "facebook_url"); </span></span><span> <span>register_setting("section", "theme_layout"); </span></span><span><span>} </span></span><span> </span><span><span>add_action("admin_init", "display_theme_panel_fields");</span></span>

>檢索設置
>主題需要檢索前端的設置值。設置API使用選項API在內部存儲值。因此,您可以使用get_option()函數檢索值。
>非常簡單,這是代碼。
><span>function theme_settings_page(){} </span> <span>function add_theme_menu_item() </span><span>{ </span> <span>add_menu_page("Theme Panel", "Theme Panel", "manage_options", "theme-panel", "theme_settings_page", null, 99); </span><span>} </span> <span>add_action("admin_menu", "add_theme_menu_item");</span>
結論
在本文中,我們看到瞭如何使用設置API輕鬆創建主題設置頁面。我們創建了一個文本,文件和復選框輸入字段,以各種數據格式獲取輸入。繼續嘗試擴展頁面並自己添加更多表單控件。>
>關於創建WordPress主題設置頁面的常見問題(FAQ)> WordPress設置API是什麼,為什麼重要?這很重要,因為它提供了一種標準化且安全的處理數據的方式。它還可以確保您的主題或插件與WordPress生態系統兼容,從而使用戶更容易從WordPress管理區域管理設置。
>如何在WordPress主題設置頁面中添加新部分? 🎜>>要在WordPress主題設置頁面中添加新部分,您需要使用add_settings_section()函數。此功能採用三個參數:本節的ID,部分標題和輸出部分內容的回調函數。 ID應該是唯一的,以避免與其他部分發生衝突。
>如何在WordPress中註冊設置?
在WordPress中註冊設置,您可以使用register_setting()函數。此功能採用三個參數:選項組,選項名稱和定義設置的參數數組。選項組應匹配settings_fields()函數中使用的組,並且該選項名稱是要保存在數據庫中的選項的名稱。
>如何為設置創建一個表單字段? >
>要為您的設置創建一個表單字段,您可以使用add_settings_field()函數。此功能採用多個參數,包括字段的ID,字段標題,輸出表單字段的回調函數,應顯示字段的頁面,應添加字段的部分以及一系列參數對於字段。 如何驗證和消毒我的設置? 以驗證和消毒您的設置,您可以在register_setting()函數中使用sanitize_callback參數。該參數應該是一個回調函數,該函數獲取輸入數據,驗證並對其進行消毒,然後返回消毒數據。這樣可以確保僅保存在數據庫中。>如何在“設置”頁面上顯示我的設置?
在“設置”頁面上顯示您的設置,您可以使用setters_fields()和do_settings_sections()函數使用settings_fields()和do_settings_sections()函數。 settings_fields()函數輸出設置頁面的nonce,操作和選項頁面字段,而do_settings_sections()函數輸出添加到頁面上的部分和字段。 ? 為了將設置保存在WordPress中,您需要在設置頁面上提交表單。提交表單後,WordPress會使用register_setting()函數自動保存設置。您還可以使用update_option()函數手動保存設置。 >如何在wordpress中檢索我的設置? 在WordPress中檢索您的設置,您可以使用get_option()功能。此功能將選項的名稱作為參數,並返回選項的值。如果該選項不存在,它將返回一個默認值,您可以將其指定為第二個參數。>
>如何在WordPress中刪除我的設置?>
以對設置頁面的問題進行故障排除,您可以使用提供的各種調試工具由WordPress。例如,您可以使用wp_debug常數來啟用調試模式並顯示PHP錯誤,通知和警告。您還可以使用var_dump()函數來輸出變量的值,並查看正在處理哪些數據。
>以上是使用設置API創建WP主題設置頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

您是否正在尋找自動化 WordPress 網站和社交媒體帳戶的方法? 通過自動化,您將能夠在 Facebook、Twitter、LinkedIn、Instagram 等平台上自動分享您的 WordPress 博客文章或更新。 在本文中,我們將向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 輕鬆實現 WordPress 和社交媒體的自動化。 為什麼要自動化 WordPress 和社交媒體? 自動化您的WordPre

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

要使用 WordPress 主機建站,需要:選擇一個可靠的主機提供商。購買一個域名。設置 WordPress 主機帳戶。選擇一個主題。添加頁面和文章。安裝插件。自定義您的網站。發布您的網站。
