2015-10-11 4 views
0

Я использую Infinite Scroll от JetPack на домашней странице нашего сайта, и он работает нормально, но я также хочу отображать некоторые сообщения там.Jetpack Infinite Scroll игнорировать сообщения уже отображались

Если сообщение отображается за пределами бесконечного цикла, я хочу, чтобы его удаляли, чтобы не было дублирования.

У меня есть глобальный массив, созданный с использованием bm_ignoreposts и добавленный в бесконечный цикл, но по какой-то причине он не работает. Вот код.

Functions.php

Бесконечный рендер.

add_filter('infinite_scroll_archive_supported', 'tweakjp_custom_is_support'); 

function mm_infinite_scroll_render() { 
global $post; 
     while (have_posts()) : the_post(); 
      bm_ignorePost($post->ID); 
      get_template_part('content-inf'); 
     endwhile; 
} 

Запрос

function mm_infinite_scroll_query_args($args) { 
    $new_args = array(
     'posts_per_page' => $args['posts_per_page'], 
     'paged' => $args['paged'], 
     'orderby'   => 'date', 
     'order'   => 'DESC', 
     'post_type'  => array('post', 'features', 'it_hardware', 'videos'), 
     'post_status'  => 'publish', 
    ); 

    return $new_args; 
} 

Для справки Вот код игнорирующие сообщений:

function bm_ignorePost ($id) { 
    if (!is_page()) { 
     global $bmIgnorePosts; 
     $bmIgnorePosts[] = $id; 
    } 
} 

ответ

0

я решил не использовать Jetpack больше и перейти к выборочному версии Javascript, который использует AJAX для загружать новые сообщения, запускающие новый запрос.

После разговора с поддержкой Jetpack они считают, что это невозможно в зависимости от того, как работает плагин.

Смежные вопросы