WordPress获取使用指定页面模板的页面id

2021-05-23 0 1,139 百度已收录

什么是模板呢?默认情形 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;
}

//以下是获取使用该模板的页面地址
<a href="<?php echo get_permalink(get_page_id_from_template('login.php')) ?>" rel="external nofollow"  >登录</a>

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3308869544
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有猫币奖励和额外收入!

主题镇 WP教程 WordPress获取使用指定页面模板的页面id https://zhutizhen.com/14996.html

永远为用户服务的镇长!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或联络我们。
查看详情

相关文章