Передача переменных PHP на загруженные страницы AJAX

У меня есть блог, который показывает 9 посты в блогах на страницу, причем каждая дополнительная страница постов в блоге автоматически добавляется с помощью плагина http://infiniteajaxscroll.com/.

Каждый раз, когда сообщение в блоге успешно запрашивается $postCount переменная увеличивает свой счет на 1,

[...]
<body>

    <div class="posts">
        <?php
        $postCount = 0;
        if ( have_posts() ) : while ( have_posts() ) : the_post(); $postCount++;
            if ( $postCount % 9 == 0 ) :
                // show featured blog posts
            else :
                // show standard blog posts
            endif;
        endif;
        ?>
    </div> <!-- /posts -->

    <script>
        var ias = jQuery.ias({
            container:       '.posts',
            item:            'article',
            pagination:      '.pagination',
            next:            '.next',
            delay:           0,
            negativeMargin:  1000
        });
    </script>

</body>

Я бы хотел за $postCount переменная, чтобы запомнить ее количество на загруженных AJAX-страницах. Итак, вместо сброса на 0 следующая страница постов в блоге будет начинаться с 10,

Я понимаю, почему это не работает (переменные являются только локальными), и что мне нужно будет использовать что-то вроде sessions или же get, но я не знаю, как это реализовать.

Я думаю, мне нужно начать session на моей странице index.php передайте это моему вызову плагина IAS...

Любая помощь с благодарностью. Спасибо!


Продолжение 1:

Мне посчастливилось заставить работать PHP-сессии, запустив сессию в моем functions.php файл

function init_session() {
    session_start();
}
add_action( 'init', 'init_session', 1 );

... и добавление сессий в мой файл следующим образом:

[...]
<body> 

   <div class="posts">
        <?php

        $postCount = 0;

        if ( isset ( $_SESSION[ 'postCount' ] ) ) :
            $postCount = $_SESSION[ 'postCount' ];
        endif;

        [...] // wp_query

        $_SESSION['postCount'] = $postCount;

        ?>
    </div> <!-- /posts -->

</body>

Как это стоит $postCounter продолжает считать... Итак, что изначально считалось постом 1 может быть пост 100 когда страница обновляется.

Мне нужно потренироваться в логике, чтобы уничтожить сессию, если это первый пост...

Любые мысли приветствуются. Благодарю.

1 ответ

Решение

Я был в состоянии сохранить $postCount подсчет переменных, начиная сессию php в моем файле functions.php

function init_session() {
    session_start();
}
add_action( 'init', 'init_session', 1 );

... и настраивая мой цикл так:

[...]
<body> 

   <div class="posts">
        <?php

        $postCount = 0;

        if ( is_paged() ) :
            $postCount = $_SESSION[ 'postCount' ];
        endif;

        [...] // wp_query

        $_SESSION['postCount'] = $postCount;

        ?>
    </div> <!-- /posts -->

</body>

С помощью is_paged() является ключом, чтобы держать счетчик на 0 после обновления

Другие вопросы по тегам