Кажется, я не могу понять, почему: а) моя переменная не возвращается на странице и, б) почему, похоже, для каждой отдельной страницы есть набор файлов cookie.
AIM:
В список продуктов, у меня есть возможность фильтровать результаты по (небольших количествах для данного примера) 5, 10, или все. Когда я разбиваю страницы, $_COOKIE
сбрасывается до значения по умолчанию, а после этого устанавливается для этой страницы. Я могу чередовать страницы 1 и 2 с разными списками результатов.
Файл "cookies.php" (до <!doctype html>
):
<?php $post_per_page = $_POST['post_per_page'];
if (isset($post_per_page)) {
// Store it in the cookie
setcookie('post_per_page', $post_per_page, time()+60*60*24, "/");
// And save in a variable
$postsperpage = $post_per_page;
}
// Then check existing cookies
else if (isset($_COOKIE['post_per_page'])) {
$postsperpage = $_COOKIE['post_per_page'];
}
// Finally use a default value if none was set
else {
// Default to 3 for example:
$postsperpage = 3;
}
?>
В моей taxonomy.php:
$args = array(
'post_type' => 'product',
'posts_per_page' => $postsperpage,
'paged' => $paged
);
В этом на $postsperpage
пусто, даже не возвращая по умолчанию «3» от cookies.php
. Поэтому я должен вспомнить содержимое cookies.php
, комментируя строку setcookie
.
Markup:
<form method="post">
<button type="submit" name="post_per_page" value="5">5</button>
<button type="submit" name="post_per_page" value="10">10</button>
<button type="submit" name="post_per_page" value="-1">ALL</button>
</form>
EDIT
Как-то параметр печенья закрепил себя вверх. Но я все еще смущен, почему я должен включать содержимое cookies.php
в таксономию, а не его первоначальную переменную, являющуюся глобальной.
Хорошо, это было то, чего я ожидал. Поэтому я удаляю все из файла cookie.php, кроме настройки файла cookie, а затем имеет значение переменной в taxonomy.php, переменная не обновляется до следующего обновления. Любой способ немедленно обновить его? – Ahhhhhhhhhhhhhdfgbv
Не могли бы вы объяснить, как эти файлы загружаются? Включен ли кто-то в другой, или вы фактически переходите к каждому из них? – SomeSillyName
Использование темы Roots Wordpress (https://github.com/retlehs/roots): Существует файл base.php, который вызывает правильный файл шаблона в зависимости от того, какой тип элемента вы вызываете (страница, сообщение, пользовательский) , Над началом base.php я вызываю (например, 'include()') файл cookie.php. Затем в цикле вызова правильной части шаблона он в конечном итоге попадает в taxonomy.php – Ahhhhhhhhhhhhhdfgbv