WordPress函数: 根据页面别名获取页面ID

WordPress函数: 根据页面别名获取页面ID

 折腾比较高定制的主题时会遇到这类需求:获取某个页面的链接,这个很简单,因为 WordPress 内置了 get_page_link() 函数,你只要<?phpget_page_link(页面id); ?> 这样就行了。

问题:页面id获取的问题,因为很多博客用的是用文章名作为永久链接的,查询页面的id就比较麻烦,当然对于WP熟手来说很简单——后台页面管理里的编辑链接就有。可惜很多用户会觉得很麻烦,觉得直接填页面名或者别名比较方便。

分析:记得分类就有根据分类名称(不是别名slug)获取分类id的函数,此函数是 get_cat_ID(分类名称) ,但我翻遍了整个 WordPress code 文档(又夸张了)都没有找到根据页面名称或者别名(slug)获取页面id的函数,郁闷鸟,或许 WP 官方认为此类需求又是个蛋疼的需求。

解决:既然没有,那么就要自己写了,用啥?当然是 SQL

函数代码:根据页面别名(slug)获取页面id(添加到主题的 functions.php)

1
2
3
4
5
function get_page_id( $page_name ){
     global $wpdb ;
     $page_name = $wpdb ->get_var( "SELECT ID FROM $wpdb->posts WHERE post_name = '" . $page_name . "' AND post_status = 'publish' AND post_type = 'page'" );
     return $page_name ;
}

使用方法:

1
<?php get_page_id(页面别名); ?>

本文转自:ZWWoOoOo

This entry was posted in  WordPress by  縫隙. Bookmark the  permalink.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值