вы хотите рандомные записи, но при этом хотите исправить именно рандомное появление записей?
//случайные записи на главной start
function wph_random_order($query) {
if (is_admin() || !$query->is_main_query()) {
return;
}
if ( is_home() ) {
$query->set('orderby', 'rand');
}
}
add_action('pre_get_posts', 'wph_random_order');
//случайные записи на главной end
Как это можно исправить??
Начать с исправления query_posts
. https://wpmag.ru/2014/query_posts-wordpress/
Я хочу что бы при каждом новом заходе на сайт,записи отображались рандомно, но при навигации они сохранялись в той же последовательности.
так не бывает.
рандом — всегда рандом.
Видимо я не могу объяснить.
Пример:
Допустим, есть 5 записей.
1 2 3 4 5
Я собираю рандомный массив из записей.
Получаю 4 3 1 2 5.
На странице выводится по 2 записи.
получается на 1 странице будет 4-3
на 2 странице 1-2 и т.д
Но у меня выходит, что массив генерируется каждый раз новый, когда я перехожу на новую страницу, а мне б отображать сгенерированный в первый раз)
добавьте в условие is_paged()
O
(@perdyllo)
Я хочу что бы при каждом новом заходе на сайт,записи отображались рандомно, но при навигации они сохранялись в той же последовательности.
Тогда это будет не рандомный вывод. Вы понимаете что такое рандомный? Это вывод записей в СЛУ-ЧАЙ-НОМ, непредсказуемом порядке порядке. Именно в случайном и непредсказуемом!
массив генерируется каждый раз новый
Это и есть истинный «рандомный вывод»
Значение слова random: беспорядочный, непреднамеренный, случайный, непредвиденный, непроизвольный, нечаянный.
А если вам нужно изменить порядок вывода записей на произвольный, в нужной вам последовательности, — для этого (помимо манипуляций с датой создания записи) сущеструют различные плагины типа Reorder posts:
https://ru.wordpress.org/plugins/reorder-post-within-categories/
https://ru.wordpress.org/plugins/post-types-order/
https://ru.wordpress.org/plugins/metronet-reorder-posts/
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
-
Ответ изменён 6 лет, 10 месяцев назад пользователем
O.
Perdyllo (@perdyllo),мне не надо в нужной последовательности,мне надо именно в СЛУ-ЧАЙ-НОМ, беспорядочном, непреднамеренном порядке.НО! Что б переходе на следующую страницу записей, и последующем возврате на предыдущую страницу, они сохранились в той же последовательности, а не сгенерировались новые записи.
мне не надо в нужной последовательности,мне надо именно в СЛУ-ЧАЙ-НОМ, беспорядочном, непреднамеренном порядке.НО! Что б переходе на следующую страницу записей, и последующем возврате на предыдущую страницу, они сохранились в той же последовательности, а не сгенерировались новые записи.
1. Если для каждого пользователя в отдельности, то записывать список ID в куки, при открытии получать список ID и выводить записи в нужном порядке.
2. Если для всех один и тот же список, то можно список ID записывать, например, в transient или option и очищать при добавлении или удалении записей, чтобы список создался заново.
Не знаю возьмется ли кто-то обсуждать такую реализацию в рамках консультативного форума, это скорее выглядит как задание для фриланса.