首頁 後端開發 php教程 WordPress中取得所使用的範本的頁面ID的簡單方法

WordPress中取得所使用的範本的頁面ID的簡單方法

Jul 29, 2016 am 09:08 AM
login page php template wordpress

什麼是模板呢?預設情況WordPress是使用主題目錄下page.php來作為模板顯示頁面的,但是有時我們需要不同的模板來顯示頁面,例如登入、註冊和投稿頁面等,這些頁面跟普通的頁面是有所區別,這時候WordPress提供了頁面範本讓開發者可以自訂WordPress頁面外觀甚至功能。
頁面模板php檔案的匹配

WordPress中是透過自訂欄位來記錄頁面所使用的範本的,自訂欄位名稱:_wp_page_template,值為範本的檔案名稱:

如果是預設範本page.php,那麼_wp_page_template 的值為:default。如果從始至終都是預設模板,WordPress不會添加此自訂欄
如果是主題根目錄下的自訂頁面模板,那麼_wp_page_template 的值為檔案名,如:page-login.php
如果是主題子目錄下的頁面模板,那麼_wp_page_template 的值包含路徑,如:templates/page-login.php
因為這個自訂欄目的名稱是以下劃線開頭的,屬於隱藏的自訂欄目,所以你在頁面編輯頁的自訂欄位中是看不到這個欄位的。

透過頁面模板取得頁面ID

我新建了一個登入頁面的模板,命名為login.php,並且後台已經有頁面在使用這個模板了,那我就可以使用以下函數來獲取使用login.php這個範本的頁面id:

function get_page_id_from_template($template) {
  global $wpdb;

  // 多个页面使用同一个模板我就没辙了
  $page_id = $wpdb->get_var($wpdb->prepare("SELECT `post_id` 
               FROM `$wpdb->postmeta`, `$wpdb->posts`
               WHERE `post_id` = `ID`
                  AND `post_status` = 'publish'
                  AND `meta_key` = '_wp_page_template'
                  AND `meta_value` = %s
                  LIMIT 1;", $template));

  return $page_id;
}

登入後複製

很多人可能會問,取得頁面id來幹什麼?透過id來取得登入頁面的連結不行嗎:

<a href="<&#63;php 
echo get_permalink(get_page_id_from_template('login.php'))
&#63;>>登录</a>
登入後複製

也有人會問,透過頁面標題和別名不也可以取得到頁面id嗎?如果主題是給客戶用了,你知道客戶會用什麼樣的標題?強制客戶用你指定的標題?那你太不人性化了吧!

以上就介紹了WordPress中取得所使用的範本的頁面ID的簡單方法,包括了方面的內容,希望對PHP教學有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

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

wordpress主機怎麼建站 wordpress主機怎麼建站 Apr 20, 2025 am 11:12 AM

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

IIS和PHP的兼容性:深度潛水 IIS和PHP的兼容性:深度潛水 Apr 22, 2025 am 12:01 AM

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

wordpress主題頭部圖片如何更換 wordpress主題頭部圖片如何更換 Apr 20, 2025 am 10:00 AM

更換 WordPress 主題頭部圖片的分步指南:登錄 WordPress 儀錶盤,導航至“外觀”&gt;“主題”。選擇要編輯的主題,然後單擊“自定義”。打開“主題選項”面板並尋找“網站標頭”或“頭部圖片”選項。單擊“選擇圖像”按鈕並上傳新的頭部圖片。裁剪圖像並單擊“保存並裁剪”。單擊“保存並發布”按鈕以更新更改。

wordpress編輯日期怎麼取消 wordpress編輯日期怎麼取消 Apr 20, 2025 am 10:54 AM

WordPress 編輯日期可以通過三種方法取消:1. 安裝 Enable Post Date Disable 插件;2. 在 functions.php 文件中添加代碼;3. 手動編輯 wp_posts 表中的 post_modified 列。

wordpress怎麼寫頁頭 wordpress怎麼寫頁頭 Apr 20, 2025 pm 12:09 PM

在WordPress中創建自定義頁頭的步驟如下:編輯主題文件“header.php”。添加您的網站名稱和描述。創建導航菜單。添加搜索欄。保存更改並查看您的自定義頁頭。

wordpress怎麼導入源碼 wordpress怎麼導入源碼 Apr 20, 2025 am 11:24 AM

導入 WordPress 源碼需要以下步驟:創建子主題以進行主題修改。導入源碼,覆蓋子主題中的文件。激活子主題,使其生效。測試更改,確保一切正常。

wordpress怎麼查看前端 wordpress怎麼查看前端 Apr 20, 2025 am 10:30 AM

可以通過以下方法查看 WordPress 前端:登錄儀錶盤並切換到“查看站點”選項卡;使用無頭瀏覽器自動化查看過程;安裝 WordPress 插件在儀錶盤內預覽前端;通過本地 URL 查看前端(如果 WordPress 在本地設置)。

See all articles