Heim > php教程 > php手册 > 解决 <?php if ( is_home() ) { ?> 无效的方法

解决 <?php if ( is_home() ) { ?> 无效的方法

WBOY
Freigeben: 2016-06-06 20:08:11
Original
1008 Leute haben es durchsucht

最近在给 pssheji.com?修改模版。所以需要用到一些 WordPress 函数。在折腾到侧边栏特定页面显示时,遇到了一个的问题。所以在博客记录一下,避免以后犯同样的错误。 一般情况下,在PHP中,如果需要限制一段 代码 ,只在首页显示。都会这样写: ?php if is_h

最近在给 pssheji.com?修改模版。所以需要用到一些 WordPress 函数。在折腾到侧边栏特定页面显示时,遇到了一个的问题。所以在博客记录一下,避免以后犯同样的错误。

一般情况下,在PHP中,如果需要限制一段代码,只在首页显示。都会这样写:

<?php if &#40; is_home&#40;&#41; &#41; &#123; ?>
只会在首页显示的内容
<?php &#125; ?>
Nach dem Login kopieren

is_home(); 函数在首页的时候会返回一个 true
上面那段代码是常用的只在首页显示
插入任何模板页PHP里都可以在WordPress主题中,常用与侧边栏 sidebar.php 或页脚 footer.php 等页面。

但是那,我在折腾 pssheji.com?的时候。用 对侧边栏进行处理,居然没效果。当时蛮笨的,没往代码方面考虑,一直以为是我的 IF 函数放错位置了,纠结了半天….实际上那:

它之前有个 query_posts(); 则会让它失效
原因是 is_home ?is_sidebar? is_aipsme 这种 is_ 前缀的都是基于主循环来判断,
而 query_posts(); 会让其偏离主循环

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

<?php wp_reset_query&#40;&#41;; if &#40; is_home&#40;&#41; &#41; &#123; ?>
我这次真的是只会在首页显示
<?php &#125; ?>
Nach dem Login kopieren

《解决 无效的方法》原文发表于: 周良博客 投稿信箱:xiaowu@aips.me 周良博客 关于周良 我的腾讯微博 我的新浪微博 QQ邮箱订阅

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage