折腾比较高定制的主题时会遇到这类需求:获取某个页面的链接,这个很简单,因为 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 原创,转载请以链接形式标明本文地址!
sf
@Veezy
貌似是今年最后一个
@Veezy
测试@评论,我发现在侧边栏最新评论有@会失效诶
@Veezy
发现是我的问题
试了一下a-shun的侧边栏也有这个问题
求解决办法 哈哈
@Veezy
神马情况?
@zwwooooo
就是在评论里如果回复别人出现"@XXX"的话,那么侧边栏最新评论的那个连接就无法连接到文章的评论部分.下午折腾了一下,技术不够- -弄乱了,又换成原来的了.
@Veezy
不是这个问题,是链接问题,因为你有翻页,而默认的最新评论代码是生成没有分页的链接,如果你的链接不在当前页,那么链接就到达不到了,最新评论里面有个注释说明,你看看。
@zwwooooo
哦,懂了,我说呢,从根链接直接就到评论层数了
那我把留言名设成链接好了~
谢了哈哈 元旦快乐
@Veezy
元旦快乐!
貌似用不上,折腾zsons css ing...
@Veezy
一般都用不到
什么样的需求,需要用到 ID 呢
@akasuna
这个比较蛋疼,很少地方需要,但总是有人需要
高折腾啊 用不上
@ifenwen
的确很少人会用到
看到你那个 GIF 啦,做的挺带感啊
@hzlzh
因为以前我做过的gif总是很快给人CP走,然后我来个狠的,现在不怕CP了,而且荒淫CP使用
还没有想好,什么功能要用到页面ID
@不羡鱼
接触多了不同客户就能遇到了
高折腾,简单解决啊。我还没有想到要用什么页面合适。
@爱惜
哈哈,这个一般博客很少用到
我每次都是打开这个页面看
原来是反过来...
@mice
对啊,非常蛋疼
客户真是什么样的需求都会有哈
@有点蓝
真的是,通常为了客户方便比较蛋疼
这个是有点绕。。
@羽中
所以说蛋疼
发现这个文章的评论很诡异,貌似出问题了
@Armgod
没啥问题啊,如果你发觉很快,就说明是正常。
@zwwooooo
新年好哈。我当时在主页看不见这个文章,是在评论栏里点别人的留言进入的,所以说诡异。
@Armgod
新年好!这么诧异?你一个人遇到就不是问题鸟
逆向....
@MOPVHS
对,所以蛋疼
都年底了 还是折腾函数呢?元旦好好休息下吧
@卢松松
我天天都可以休息。
元旦快乐啊。
@竹下无为梦
同祝!
看不懂代码,祝你元旦快乐吧
@囧啊囧
元旦快乐!
在别忙了啊,元旦快乐,新年快乐~
@瓜瓜
嗯嗯,新年快乐!
2011即将开始,祝博主,新年快乐,神马奔腾!
年终居然没写总结 哈哈 不愧是折腾达人!
@苏扬
我都不写的,写来干啥呢?元旦快乐!
新年第一天,来支持你一下
@踏浪者
元旦快乐!