Posts Tagged ‘conditional_tags’

Wordpress内置模板条件判断函数

星期天, 二月 10th, 2008

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. //避免首页内容和插件内容重复。