2012-02-10 7 views
1

Привет, ребята, я использую тему Imbalance2 для WordPress, и я создал новый цикл для работы с другой страницей, поскольку у меня есть одна категория, направляющая на страницу, однако сообщения, которые находятся на странице, когда сначала загружены, просто повторяются, когда я прокручиваю страницу вниз. Он использует ajax для загрузки на прокрутку. Ниже мой код для нового цикла:Wordpress posts repeating

<?php if (! have_posts()) : ?> 
    <div id="post-0" class="post error404 not-found"> 
     <h1 class="entry-title"><?php _e('Not Found', 'imbalance2'); ?></h1> 
     <div class="entry-content"> 
      <p><?php _e('Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'imbalance2'); ?></p> 
      <?php get_search_form(); ?> 
     </div><!-- .entry-content --> 
    </div><!-- #post-0 --> 
<?php endif; ?> 

<?php $imbalance2_theme_options = get_option('imbalance2_theme_options') ?> 

<div id="boxes"> 
<?php while (have_posts()) : the_post(); ?> 

    <div class="box"> 
     <div class="rel"> 
      <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('homepage-thumb', array('alt' => '', 'title' => '')) ?></a> 
    <?php if ($imbalance2_theme_options['images_only'] == 0): ?> 

      <h1 style="padding-top:8px; padding-bottom:2px;"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> 
     <?php the_excerpt() ?> 
        <div class="categories" style="padding-top:5px;"><?php 
        $key = 'title'; 
        $themeta = get_post_meta($post->ID, $key, TRUE); 
        if($themeta != '') { 
         echo "<strong>Job Title: </strong>"; 
        echo $themeta; 
        } 
        ?> 
        <br /> 
        <?php 
        $key = 'location'; 
        $themeta = get_post_meta($post->ID, $key, TRUE); 
        if($themeta != '') { 
         echo "<strong>Location: </strong>"; 
        echo $themeta; 
        } 
        ?> 
        </div> 
      <div class="posted"><?php imbalance2_posted_on() ?> <span class="main_separator">/</span> 
       <?php echo comments_popup_link(__('No comments', 'imbalance2'), __('One Comment', 'imbalance2'), __('% Comments', 'imbalance2')); ?> 
      </div> 
    <?php endif ?> 
      <div class="texts"> 
    <?php if ($imbalance2_theme_options['images_only'] == 1): ?> 
       <a class="transparent" href="<?php the_permalink(); ?>"><?php the_post_thumbnail('homepage-thumb', array('alt' => '', 'title' => '')) ?></a> 
    <?php endif ?> 
       <div class="abs"> 
    <?php if ($imbalance2_theme_options['images_only'] == 0): ?> 
       <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('homepage-thumb', array('alt' => '', 'title' => '')) ?></a> 
    <?php endif ?> 
<h1 style="padding-top:8px; padding-bottom:2px;"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> 
     <?php the_excerpt() ?> 
        <div class="categories" style="padding-top:5px;"><?php 
        $key = 'title'; 
        $themeta = get_post_meta($post->ID, $key, TRUE); 
        if($themeta != '') { 
         echo "<strong>Job Title: </strong>"; 
        echo $themeta; 
        } 
        ?> 
        <br /> 
        <?php 
        $key = 'location'; 
        $themeta = get_post_meta($post->ID, $key, TRUE); 
        if($themeta != '') { 
         echo "<strong>Location: </strong>"; 
        echo $themeta; 
        } 
        ?> 
        </div> 
     <?php the_excerpt() ?> 
        <div class="posted"><?php imbalance2_posted_on() ?> <span class="main_separator">/</span> 
        <?php echo comments_popup_link(__('No comments', 'imbalance2'), __('One Comment', 'imbalance2'), __('% Comments', 'imbalance2')); ?> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 

<?php endwhile; ?> 
</div> 

<?php if ($wp_query->max_num_pages > 1) : 
    if ($imbalance2_theme_options['navigation'] == 0) : // Default ?> 

<div class="fetch"> 
    <?php next_posts_link(__('Load more posts', 'imbalance2')); ?> 
</div> 

<script type="text/javascript"> 
// Ajax-fetching "Load more posts" 
$('.fetch a').live('click', function(e) { 
    e.preventDefault(); 
    $(this).addClass('loading').text('Loading...'); 
    $.ajax({ 
     type: "GET", 
     url: $(this).attr('href') + '#boxes', 
     dataType: "html", 
     success: function(out) { 
      result = $(out).find('#boxes .box'); 
      nextlink = $(out).find('.fetch a').attr('href'); 
      $('#boxes').append(result).masonry('appended', result); 
      $('.fetch a').removeClass('loading').text('Load more posts'); 
      if (nextlink != undefined) { 
       $('.fetch a').attr('href', nextlink); 
      } else { 
       $('.fetch').remove(); 
      } 
     } 
    }); 
}); 
</script> 

    <?php elseif ($imbalance2_theme_options['navigation'] == 1) : // Infinite scroll ?> 

<div class="infinitescroll"> 
    <?php next_posts_link(__('Load more posts', 'imbalance2')); ?> 
</div> 

<script type="text/javascript"> 
// Infinite Scroll 
var href = 'first'; 
$(document).ready(function() { 
    $('#boxes').infinitescroll({ 
     navSelector : '.infinitescroll', 
     nextSelector : '.infinitescroll a', 
     itemSelector : '#boxes .box', 
     loadingImg : '<?php echo get_bloginfo('stylesheet_directory') ?>/images/loading.gif', 
     loadingText : 'Loading...', 
     donetext : 'No more pages to load.', 
     debug : false 
    }, function(arrayOfNewElems) { 
     $('#boxes').masonry('appended', $(arrayOfNewElems)); 
     if (href != $('.infinitescroll a').attr('href')) 
     { 
      href = $('.infinitescroll a').attr('href'); 
     } 
    }); 
}); 
</script> 

    <?php endif; ?> 

<?php endif; ?> 

Спасибо за любую помощь, Адам

ответ

1

Я думаю, что его, потому что у вас есть два <?php the_excerpt() ?> в один цикл, по линии 54 и 73.

+0

Имел посмотрите, что попытался удалить один из них, но не повезло :( – adamhuxtable

+0

Извините, я пропустил один до этого. Всего у вас есть три the_excerpt() – tinyhook

+0

, которые у вас есть внутри, если statment ' '... из моего понимания вашего кода вам просто нужен один из них ... Я немного о что я не смог дать вашему коду подробный взгляд, а это значит, что я мог бы ошибиться в вышеупомянутом материале. – tinyhook