获取WordPress中模板的页面ID的一种简单方法

什么是模板WordPress默认是使用page.php作为显示页面模板的主题目录,但有时我们需要一个不同的模板显示页面,如登录、注册和提交页面,与普通网页不同的是,这次WordPress提供网页模板让开发者可以自定义页面或WordPress函数外观。

页面模板php文件的匹配

在WordPress中,一个定制列用于记录页面所使用的模板。自定义栏目名称:_wp_page_template,模板的文件名:

如果是默认模板page.php,然后_wp_page_template值:默认。如果所有的时间是默认的模板,WordPress不添加自定义截面。

如果是主题根目录下的页面模板,然后_wp_page_template的值是一个文件名,如page-login.php

如果是主题目录下的网页模板,然后_wp_page_template值包含的路径,如模板 / page-login.php

因为自定义列的名称位于下划线线的开头,属于隐藏的自定义列,因此无法在页面编辑页的自定义列中看到此字段。

通过页面模板获取页面ID

我创建了一个模板的登录页面,命名为login.php,还有背景中已经使用的页。然后我可以用下面的函数使用login.php模板得到的页ID。


功能get_page_id_from_template($模板){
全球$wpdb;

/ /多个页面使用相同的模板,我没辙了
page_id美元= $wpdb -> get_var($wpdb ->准备(选择` post_id ` )
从` $wpdb -> postmeta `,` $wpdb ->岗位`
在` post_id ` = ` ID `
和` post_status ` = 'publish
和` meta_key ` = '_wp_page_template
和` meta_value ` = %s
限制1;$;

返回的page_id;
}




很多人可能会问,获得页面ID是怎么做的呢你有通过ID访问登录页面的链接吗:


< a href =< PHP
回声get_permalink(get_page_id_from_template('login。php))
> > >



也有人问,你能得到页面标题和别名的页面ID吗如果主题是为客户使用的,您知道客户将使用什么样的标题吗强迫客户使用您指定的标题所以你太不人道了!