0

我一直在尝试使用 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(); ?>
4

2 回答 2

1

我们需要更多信息/代码才能给出明确的答案,但我最好的猜测是您需要在某处添加 wp_reset_query() 。

快速测试:在条件语句之前添加 wp_reset_query() 并查看是否可以解决问题。如果是这样,那么您需要找到有问题的查询并确保在适当的时间将其重置。

于 2013-09-24T19:39:34.073 回答
0

像 is_single 这样的 wordpress 条件的问题是它们不能在 functions.php 中的函数之外工作

所以解决方案是将条件放在函数中,并可能使用 add_action 调用该函数。

此处的代码is_single not working in functions.php解释了它如何在函数之外工作以及应该如何代替

于 2014-08-11T05:34:57.023 回答