我一直在尝试使用is_home / is_front_page或is_single来使用几个条件语句,但它们在我的主题中不起作用。以下是此类代码的示例:
<?php if(is_front_page() || is_home() ) : ?>
<?php if(function_exists('show_flexslider_rotator'))
echo show_flexslider_rotator('homepage_fexslider' ); ?>
这会加载我的Flexslider,但是当我转到第2页时,滑块仍保留在页面上。
我在其他主题中成功使用了这些语句。
我是否需要在functions.php中添加对此功能的支持?
我该如何解决这个问题?
我的home.php代码如下:
<?php get_header(); ?>
<?php if(is_front_page() || is_home() ) : ?>
<?php if(function_exists('show_flexslider_rotator')) echo show_flexslider_rotator( 'homepage' ); ?>
<?php endif; ?>
<div class="row below-banner">
<div id="site-content" class="span8">
<div class="row">
<div class="span8">
<div class="widget-header">
<h2>What's new</h2>
</div>
</div>
</div>
<div class="row">
<div class="posts span8">
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') :1; query_posts('cat=-35&paged=' . $paged);?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php get_template_part( 'entry' ); ?>
<?php endwhile; ?>
<?php wp_pagenavi(); ?>
<?php else : ?>
<h2>No Posts Found</h2>
<?php endif; wp_reset_query(); ?>
</div>
</div>
<?php get_footer(); ?>
答案 0 :(得分:1)
我们需要更多的信息/代码才能给出明确的答案,但我最好的猜测是你需要在某处添加一个wp_reset_query()。
快速测试:在条件语句之前立即添加wp_reset_query(),看看是否能解决问题。如果是这样,那么你需要找到有问题的查询,并确保在适当的时候重置它。
答案 1 :(得分:0)
像is_single这样的wordpress条件问题是它们不能在functions.php中的函数之外工作
所以解决方案是将条件放在函数中并使用add_action调用该函数。
此处的代码is_single not working in functions.php解释了它如何在函数外部无效,以及它应该如何替代