13071077710
您的当前位置: 首页 > wordpress > 解决 wordpress if (is_home())无效/失效的方法

解决 wordpress if (is_home())无效/失效的方法

时间: 2017-9-9

wordpress的is_home();函数的作用是在WP博客首页的时候返回一个true,但如果在该函数前面有个query_posts();则会失效,原因是is_home is_virgin is_ooxx 这种 is_ 前缀的都是基于主旋律循环来判断,而 query_posts(); 会让其偏离主循环。

解决这个问题的方法如下:

实例:

<div class="container clearfix">
    <?php wp_reset_query(); if(is_home()) { ?>
    <div class="friendlinks">
        <ul>
            <li>友情链接:</li>
            <?php wp_list_bookmarks('title_li=&categorize=0&show_images=0'); ?>
        </ul>
    </div>
<?php }else{ ?>
    <div class="friendlinks">
        <a href="http://www.miitbeian.gov.cn/" rel="nofollow" target="_blank"><?php echo get_option( 'zh_cn_l10n_icp_num' );?></a> 版权所有 <?php echo zixieme('gsmc'); ?>
    </div>
    <div class="copyright">网站地图|网站统计</div>
<?php } ?>
</div>

注释:

如果是首页显示 “友情链接” 其他页面显示 “版权”。

解决is_home无效的方法:

is_home();函数的原代码如下:

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

解决方法是在is_home();之前添加一个wp_reset_query();即可,代码如下

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

Copyright © 2016-2017 子歇    版权所有   网站地图