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

» 2010-12-31 86条评论

折腾比较高定制的主题时会遇到这类需求:获取某个页面的链接,这个很简单,因为 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
or
oooo

“WordPress函数: 根据页面别名获取页面ID”有86条评论

  1. 秦大少 says:

    元旦快乐,心想事成!

    1. zwwooooo says:

      @秦大少
      元旦快乐!

  2. hensy says:

    2011了哦!元旦快乐!新的一年心想事成!

    1. zwwooooo says:

      @hensy
      元旦快乐!

    2. zwwooooo says:

      @hensy
      你也一样

  3. 韩国 says:

    到博主这里报个到,加个班,新年快乐。

    1. zwwooooo says:

      @韩国
      谢谢,元旦快乐!

    2. zwwooooo says:

      @韩国
      新年好!

  4. 爪印 says:

    不错,学习了

    1. zwwooooo says:

      @爪印
      元旦快乐!

  5. 不错!学习了!新年快乐!

  6. Max.L says:

    元旦快乐哈~

    1. zwwooooo says:

      @Max.L
      元旦快乐!

  7. Junan says:

    :oops: 博主 你好~~请问你的文章的第一个字设置这么大~~是怎样 搞的?

    1. zwwooooo says:

      @Junan
      首字下沉,很多教程,搜一下

    2. Junan says:

      @zwwooooo
      谢了~~我问问百度~~ :grin:

    3. zwwooooo says:

      @Junan
      嗯嗯,知道的问百度吧,不知道的就问google :mrgreen:

  8. Kars says:

    又是 SQL 、、能避免就尽量不用吧、、

    1. zwwooooo says:

      @Kars
      自己当然不用了

  9. 哲哲 says:

    元旦快乐·新年快乐哦·

    1. zwwooooo says:

      @哲哲
      新年快乐!

  10. A.shun says:

    om 元旦快乐啊
    下午评论发不出去- -

    1. zwwooooo says:

      @A.shun
      祝你天天快乐!
      502。。。明晚更换组合

  11. Alan says:

    Mark!

  12. 七七 says:

    嗯,关注了解!祝新年快乐!

    1. zwwooooo says:

      @七七
      新年快乐!

  13. 这个要学习一下,你的博客我很敬重!

    1. zwwooooo says:

      @博客之家
      谢谢!新年快乐!

  14. 久酷 says:

    元旦快乐 :lol: :lol:

    1. zwwooooo says:

      @久酷
      新年快乐!

  15. QVOD says:

    又是教程呀。

    1. zwwooooo says:

      @QVOD
      对啊对啊对,这里没有影片。。。 :mrgreen: :mrgreen: :mrgreen:

  16. Armgod says:

    你博客速度快得让人愤怒!

    1. zwwooooo says:

      @Armgod
      这个。。。的确。。。我都震惊了。

  17. 懒啊,你真懒!

    1. zwwooooo says:

      @博客之家
      好像不是我懒,是客户要求,虽然我本人是很懒

  18. 没有看懂

  19. :mrgreen: 学习了,特殊情况下会有需要!

回复给 hensy ¬
取消回复

昵称 *

网址

B em del U Link Code Quote