[2/10]Wordpress内置模板条件判断函数

类归于: PHP, wordpress — 标签:, , , TrackBack URL

sidebar.jpg
最近计划在本站首页的sidebar上方放置一个视频文件,只需要在首页显示就可以了,试着在后台编辑sidebar.php,先试了一下.

  1. <?php
  2. if($_SERVER['SCRIPT_NAME'] == '/index.php'){
  3.   echo '...';
  4. }
  5. ?>

经过测试发现,WP所有的页面都是在 index.php 上。看来只有找WP提供的判断函数了。在官方的CODEX(http://codex.wordpress.org/Conditional_Tags)上找到了各种判断页面的函数,这里简单介绍一下。

  1. is_home();
  2. //判断是否首页;
  3.  
  4. is_single();
  5. //判断是否文章页;
  6. is_single('17');
  7. //判断是否ID为17的文章页;
  8. is_single('Beef Stew');
  9. //判断标题是否为 Beef Stew 的文章页;
  10.  
  11. comments_open();
  12. //当前页是否允许回复;
  13.  
  14. pings_open()
  15. //是否开启 ping;
  16.  
  17. is_page() ;
  18. //是否是一个页面。
  19. //同样, is_page() 和 is_single() 的用法几乎一致,也可以加入参数。
  20.  
  21. is_category();
  22. //判断是否为分类页面,与is_page()等用法一致。
  23.  
  24. is_tag() ;
  25. //是否TAG页面;可以用 is_tag('tagname') 判断具体的TAG;
  26.  
  27. is_author();
  28. //是否某个用户的文章;可以加入用户ID,或用户名作为参数。
  29.  
  30. is_archive();is_search() ;is_404();
  31. //分别判断是否存档,是否搜索,是否404页面。
  32.  
  33. is_paged();
  34. //判断是否翻页;
  35.  
  36. //例如,一个只需要在首页显示的可以用一下语句解决:
  37. <?php if(is_home() && !is_paged()){?>
  38. ...
  39. <?php }?>
  40.  
  41. //当然,一个不在首页显示的,例如“最近发表文章”的插件可以加一个
  42. <?php if(!is_home()){?>
  43. ...
  44. <?php }?>
  45. //避免首页内容和插件内容重复。

5 条评论 »

  1. 兰灯 Windows XP Firefox 2.0.0.12 说:

    连接已经做好,很高兴认识你。常串门哦!

  2. 驽鸟 Windows XP Internet Explorer 7.0 说:

    不知道怎么用,能举个例子吗?
    我是PHP盲!

  3. neekey Windows XP Internet Explorer 7.0 说:

    例如,有些东西,个人介绍之类的,只需要在首页显示:

    在合适的地方加上:
    < ?php if(!is_home()){?>
    这是我的个人介绍。。。
    < ?php }?>

    404不存在页面可以这样设置
    < ?php if(!is_404()){?>
    您要找的东西不存在:(
    < ?php }?>

  4. calvin Windows XP Internet Explorer 6.0 说:

    不错的东西 ~~ 决定完全放弃掉 WP内置的 widgets 了 o(∩_∩)o…

    不过还需要去找一些代码 赫赫~ 先收藏了 ~~

Leave a Reply


Verify Code   If you cannot see the CheckCode image,please refresh the page again!

说明

  1. 本站支持Gravatar头像,如果您还没有使用Gravatar,请参考《如何使用Gravatar》
  2. 您填写的邮件地址不会被泄露,我担保
  3. 谢绝与文章无关的广告,请SPAM者自重。本站有权修改、删除您的评论。
  4. 私人信息可以发送到我邮箱 zero[AT]photozero.net