加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

WordPress获取模板页面id的示例

发布时间:2022-06-27 09:36:56 所属栏目:教程 来源:互联网
导读:一个WordPress获取模板页面id的例子,转一个站长博客的写的非常不错了,希望例子对各位会有所帮助. 什么是模板呢?默认情况 WordPress是使用主题目录下page.php来作为模板显示页面的,但是有时候我们需要不同的模板来显示页面,比如登录、注册和投稿页面等,这
  一个WordPress获取模板页面id的例子,转一个站长博客的写的非常不错了,希望例子对各位会有所帮助.
 
  什么是模板呢?默认情况 WordPress是使用主题目录下page.php来作为模板显示页面的,但是有时候我们需要不同的模板来显示页面,比如登录、注册和投稿页面等,这些页面跟普通的页面是有所区别,这时候WordPress提供了页面模板让开发者可以自定义WordPress页面外观甚至功能.
 
  通过页面模板获取页面ID
 
  我新建了一个登录页面的模板,命名为login.php,并且后台已经有页面在使用这个模板了,那我就可以使用以下函数来获取使用login.php这个模板的页面id,感谢Sola的建议,代码如下:
 
  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;  //phpfensi.com
  }
  很多人可能会问,获取页面id来干什么?通过id来获取登录页面的链接不行吗,代码如下:
 
  <a href="<?php  
  echo get_permalink(get_page_id_from_template('login.php'))
  ?>>登录</a>
  也有人会问,通过页面标题和别名不也可以获取到页面id吗?如果主题是给客户用了,你知道客户会用什么样的标题?强制客户用你指定的标题?那你太不人性化了吧.

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!