折腾比较高定制的主题时会遇到这类需求:获取某个页面的链接,这个很简单,因为 WordPress 内置了 get_page_link() 函数,你只要<?php get_page_link(页面id); ?> 这样就行了。
问题:页面id获取的问题,因为很多博客用的是用文章名作为永久链接的,查询页面的id就比较麻烦,当然对于WP熟手来说很简单——后台页面管理里的编辑链接就有。可惜很多用户会觉得很麻烦,觉得直接填页面名或者别名比较方便。
分析:记得分类就有根据分类名称(不是别名slug)获取分类id的函数,此函数是 get_cat_ID(分类名称) ,但我翻遍了整个 WordPress code 文档(又夸张了)都没有找到根据页面名称或者别名(slug)获取页面id的函数,郁闷鸟,或许 WP 官方认为此类需求又是个蛋疼的需求。
解决:既然没有,那么就要自己写了,用啥?当然是 SQL
函数代码:根据页面别名(slug)获取页面id(添加到主题的 functions.php)
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; }
使用方法:<?php get_page_id(页面别名); ?>
唉,又是用 SQL,直接填 id 就不需要这么折腾了。
zww
赏
oooo
or
- 本文标题:WordPress函数: 根据页面别名获取页面ID
- 本文链接:https://zww.me/archives/25369
- 发布时间:2010年12月31日 10:18
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
元旦快乐,心想事成!
@秦大少
元旦快乐!
@秦大少
新年好啊
2011了哦!元旦快乐!新的一年心想事成!
@hensy
元旦快乐!
@hensy
你也一样
到博主这里报个到,加个班,新年快乐。
@韩国
谢谢,元旦快乐!
@韩国
新年好!
不错,学习了
@爪印
元旦快乐!
不错!学习了!新年快乐!
元旦快乐哈~
@Max.L
元旦快乐!
博主 你好~~请问你的文章的第一个字设置这么大~~是怎样 搞的?
@Junan
首字下沉,很多教程,搜一下
@zwwooooo
谢了~~我问问百度~~
@Junan
嗯嗯,知道的问百度吧,不知道的就问google
又是 SQL 、、能避免就尽量不用吧、、
@Kars
自己当然不用了
元旦快乐·新年快乐哦·
@哲哲
新年快乐!
om 元旦快乐啊
下午评论发不出去- -
@A.shun
祝你天天快乐!
502。。。明晚更换组合
Mark!
嗯,关注了解!祝新年快乐!
@七七
新年快乐!
这个要学习一下,你的博客我很敬重!
@博客之家
谢谢!新年快乐!
元旦快乐
@久酷
新年快乐!
又是教程呀。
@QVOD
对啊对啊对,这里没有影片。。。
你博客速度快得让人愤怒!
@Armgod
这个。。。的确。。。我都震惊了。
懒啊,你真懒!
@博客之家
好像不是我懒,是客户要求,虽然我本人是很懒
没有看懂
学习了,特殊情况下会有需要!