WordPress主题is_home()等函数失效怎么办?

老饕在修改iNeutral时,曾碰到进行页面属性判断的函数is_home(),is_single()等失效的问题~~这些函数失效的话,主要会影响侧边栏的一些小工具的显示。比如你或者会有如下的一段代码:

原代码部分
  1. <div id="side_bottom_ex">
  2.   <div class="side_box">
  3.    <h3 class="side_title">LINKS</h3>
  4.    <ul id="blogroll"><?php if (is_home()) : ?>
  5.     <li><?php wp_list_bookmarks('title_li=&categorize=0'); ?></li>
  6.    </ul><?php endif; ?>
  7.   </div>
  8. </div>

这段代码中用到了is_home()这个函数,对侧边栏的友情链接显示进行判断:如果当前页面是home,则显示友情链接,否则不显示。也就是说,如果朋友们想要自定义DIY一下自己的侧边栏,is_home()这样的函数是经常要用到的。可是,一些时候,is_home()会失效。

 

失效原因一般跟Wordpress的另一个重要函数有关:query_post()。这个函数的功能是调用博客日志,我们的首页,single页,之所以能够显示文章,就是它(还有get_post())的功劳。而老饕现在的iNeutral的侧边栏“最近出蛋榜”,就是利用该函数来调用实现的。好了,既然问题找到,当然要提供解决方法了!

解决方案:

解决方法很简单:在引用到 query_posts()函数的结尾endwhile后面加上wp_reset_query()函数即可!具体修改代码如下:

添加wp_reset_query()函数
  1. <?php
  2.         query_posts(array('orderby' => 'rand', 'showposts' => 10));
  3.         if (have_posts()) :
  4.         while (have_posts()) : the_post();?>
  5.             <li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></li>
  6. <?php endwhile;endif;wp_reset_query(); ?>

 

如果朋友们也有遇到这样的问题,不妨一试!

好了,搞定收工!



分享到:
版权申明

本站所有文章,除特别标明外,皆为原创。如需转载,请注明出处:

转载自:i 飞扬 分享精彩!
原文链接:WordPress主题is_home()等函数失效怎么办?

您的支持是我最大的动力!

  1. 最近也遇到了这个问题,最终解决了。

    [点击回复]

  2. wordpress 不知道有没有函数手册?

    [点击回复]

    老饕 回复:

    @miracle, codex.wordpress.com ~~翻译为中文的内容很少,凑乎看英文吧!

    [点击回复]

    老饕 回复:

    @miracle, 还有,可以问一下你是通过什么途径访问到这篇文章的吗?

    [点击回复]

  3. 我曾经在用Wp-logic插件的时候出现过类似的这些函数不工作的情况。

    [点击回复]

    老饕 回复:

    @Dawnson, Wp-logic即是调用这些函数~~其实还是is_home等函数失效了~

    [点击回复]

  4. 小问题,不过路过看看···

    [点击回复]

    老饕 回复:

    @小纽扣, 呵呵~~你很强啊~

    [点击回复]

  5. 没有遇到过
    有个小问题请教下,一个国外的主题,后台设置选择分类的时候分类出现乱码怎么回事啊?

    [点击回复]

    老饕 回复:

    @abx, 这个具体还是看代码~~把编码转化成utf8试一下~

    [点击回复]

  6. 好在iNove没有这样的问题 :lol: mg12大大写的模版就是可读性很强折腾相对来说要方便许多

    [点击回复]

    老饕 回复:

    @lovee, 其实这个是自定义的时候遇到的问题~~只要侧边栏没有直接调用querypost豪函数就不会有问题

    [点击回复]

  7. 暂时还没失效。。。

    [点击回复]

  8. 是不是每个用WP的人,都会成为PHP CODER。。。

    [点击回复]

  9. 我的链接都是首页和内页通通链!

    [点击回复]

    老饕 回复:

    @zen cart, 呵呵~不只是链接了~就像我的“老饕家的龟”~为了不影响速度~就只在内页

    [点击回复]

    zen cart 回复:

    @老饕, 哈哈,你那只龟很可爱!

    [点击回复]

  10. 函数实效的原因会是什么呢?

    [点击回复]

    老饕 回复:

    @有点蓝, 应该有讲清楚吧~query_post()函数的原因~

    [点击回复]

    有点蓝 回复:

    @老饕, 是我没表达清楚,我指的是:为什么会有函数会实效呢?不单单说的是ishome或者querypost……

    [点击回复]

    老饕 回复:

    @有点蓝, 呵呵~~这样的话要研究一下Wordpress函数的实现机理~~我还没搞清楚~ :mad:

    [点击回复]

  11. 没碰到过。

    [点击回复]

    老饕 回复:

    @柳城, 在侧边栏调用query_post()函数,一般都会使这些判断函数失效

    [点击回复]

  12. 刚开始我也为这个郁闷,后来才发现这个问题

    [点击回复]

    老饕 回复:

    @万戈, 我过了N久才发现~~杯具

    [点击回复]


无觅相关文章插件,快速提升流量