Передача переменных 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
после обновления