wordpress is_home()判断无效解决办法

 代码如下 复制代码

<?php if ( is_home() ) { ?>
我只会在首页显示
<?php } ?>

is_home(); 函数在首页的时候会返回一个 true
上面那段代码是常用的只在首页显示
插入任何模板页PHP里都可以,

例如侧边栏 sidebar.php 或页脚 footer.php

但如果它之前有个 query_posts(); 则会让它失效
原因是 is_home is_virgin is_ooxx 这种 is_ 前缀的都是基于主旋律循环来判断,
而 query_posts(); 会让其偏离主循环

解决方案是在 is_home(); 之前加一个 wp_reset_query();

 代码如下 复制代码

<?php wp_reset_query(); if ( is_home() ) { ?>
我只会在首页显示, 真的!
<?php } ?>

第二种
当你使用指定的一个page页面作为首页时。这种情况下is_home()是不起作用。

可以使用is_front_page()来判断当前页是不是指定的首页,我们在上面所描述的情况下需要的就是这个函数。

 代码如下 复制代码

<?php if (is_home() || is_front_page()) { ?>
首页显示代码……………………
<?php } ?>

时间: 2024-10-26 07:30:00

wordpress is_home()判断无效解决办法的相关文章

win8下XAMPP中Apache模块无效解决办法

  win8下XAMPP中Apache模块无效解决办法 win8下系统默认占用80端口,导致apache无法打开. 以管理员权限运行c:windowssystem32cmd.exe C:WINDOWSsystem32>net stop http HTTP Service 服务已成功停止. C:WINDOWSsystem32>netstat -ano | findstr 0.0.0.0:80 C:WINDOWSsystem32>sc config http start=disabled [

nginx安装wordpress 502 Bad Gateway解决办法

wordpress 502 Bad Gateway解决办法 首先是更改php-fpm的几处配置: /www/wdlinux/php/etc/php-fpm.conf /www/wdlinux/etc/php-fpm.conf 把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用: 把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率

css ie6、ie7、ie8中overflow:hidden无效解决办法

产生原因: 当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效. 解决办法: 我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:hidden. 解决这个bug很简单,在父元素中使用position:relative;即可解决该bug ie7和ie6 发现在ie6和ie7里面overflow:hidden无效,还是会超出外层div 后来在外层div上面加上position:rel

SQL Server 2008为SQL Server代理服务提供的凭据无效 解决办法

在Windows Server 2008安装SQL Server 2008出现下面的问题: 安装时在"服务器配置"环节出现以下问题: 为sql server代理服务提供的凭据无效 为sql server服务指定的凭据无效 为analysis services服务提供的凭据无效 为reporting services服务提供的凭据无效 为integration services服务提供的凭据无效   解决方法也是非常简单的. 解决方法 SQL Server代理 选 SYSTEM SQL

flash as3中换行符无效解决办法

如今从xml中加载进来并读出的字符串中的换行符不起作用 我很郁闷,多次查查不到什么原因 但试出了用<br/>代替n可以解决此问题 最后才找到了原因.原来不知道为什么xml中的n都变成了\n 所以解决的办法有两个: (1)用<br/>代替n (2)把\n换成n:data.text = data.text.replace(/\n/g,"n");//解决n换行符不起作用的问题..

JavaScript的history.back()在FireFox和Chrome无效解决办法

小编最初写法是history.back()如下 htm <div class="btn1"><a href="#" id="calcelbtn">取消</a></div>   js代码 $('#calcelbtn').click(function(){  history.back();   }) 测试后发现在ie可以使用,在在FireFox和Chrome无效了,后来百度了一下发现要按下面方法定才被在

php file_exists无效解决办法

方法1 : 据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在. 由于服务器端的php.ini我们无法操纵,当用ini_set()也关闭不了safe mode模式,我们只有退而求其次,找一个更可靠.安全的检测方法来检测文件是否存在.我们可以借助 $_server['document_root'] 来加以实现.$_server['document_root'] 返回的是网站的根目录,该目录的最后一个子目录不包含目录标志符

css float父元素自适应高度无效解决办法

当几个并列div元素使用float属性时,由于父容器没有定义实际高度(height),在IE中显示出现问题,无法显示父容器的背景颜色或背景图片 做了如下设置实验情况:1. 不正常显示的设置 子容器:使用float 父容器:不定义height 2. 在测试中发现,父容器在不定义高度时,取消float属性,背景颜色显示正常 子容器:不使用float 父容器:不定义height 3. 而给父容器定义了高度后,子容器再使用float则一切正常 子容器:使用float 父容器:定义height 原因及解决

IIS6 rewrite没有问题但rewrite规则无效解决办法

 现在经常用到ISAPI_Rewrite,遇到的问题就是在本地测试的时候,一切没有问题,到服务器上,竟然不起作用.郁闷 安装IIS的rewrite组建 由于服务器安装了IIS6,因此要实现伪静态要先下载rewrite组建,这里博主提供了下载. ISAIP筛选器添加rewrite组建 重启服务器. 这时候我要写一个重写掉index.php的rewrite规则,但是老是不生效.  代码如下 复制代码 [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 360