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

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

WBOY
Lepaskan: 2016-06-06 20:08:11
asal
1015 orang telah melayarinya

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

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

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

1

2

3

<?php if &#40; is_home&#40;&#41; &#41; &#123; ?>

只会在首页显示的内容

<?php &#125; ?>

Salin selepas log masuk

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();

1

2

3

<?php wp_reset_query&#40;&#41;; if &#40; is_home&#40;&#41; &#41; &#123; ?>

我这次真的是只会在首页显示

<?php &#125; ?>

Salin selepas log masuk

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan