Случайная сортировка для SimplePie

Я специально ищу случайную сортировку всех статей SimplePie из установки по умолчанию. (никаких вложений WordPress или чего-то подобного)

Я не ищу никаких настраиваемых параметров сортировки, просто совершенно случайная сортировка элементов и ничего больше.

Хотите настроить это для простой страницы. Единственные примеры, которые я нашел до сих пор, — это те, которые отображают код php вверху, но не показывают, как вызывать эти функции в html.

Пример: нужно ли создавать отдельные классы?


person user2103549    schedule 24.02.2013    source источник


Ответы (1)


Вы пробовали стандартную функцию PHP shuffle? http://php.net/manual/es/function.shuffle.php

Если вы храните все элементы, полученные SimplePie, в массиве, я думаю, что это самый короткий способ отсортировать их случайным образом.

person versvs    schedule 24.02.2013
comment
похоже, что SimplePie рекомендует тег sort_items(), как они объясняют здесь - simplepie.org/wiki/reference/ simplepie/sort_items . Но я все еще не могу приступить к работе. - person user2103549; 24.02.2013
comment
Код, который я сейчас использую... работает для стандартной сортировки, но не для случайной сортировки -‹?php require_once('./simplepie/autoloader.php'); // Установите свои собственные параметры конфигурации по своему усмотрению. $feed = новый SimplePie(); $feed-›set_feed_url(array( 'feeds.energydigger.com /традиционная энергия/', )); $feed-›set_cache_duration(300); $success = $feed-›init(); - person user2103549; 24.02.2013
comment
?›‹!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd› ‹html xmlns=w3.org/1999/xhtml xml:lang=en-US lang=en-US› ‹head› ‹title›Цены на нефть и газ‹/title› ‹link rel=stylesheet href=styles. css type=text/css media=экран, проектор /› ‹/head› ‹body› ‹h1›Цены на нефть и газ‹/h1› - person user2103549; 24.02.2013
comment
‹div id=site› ​​‹?php // Если у нас есть ошибка, отобразить ее. if ($feed-›error()) { echo '‹div class=sp_errors›' . \r\n; эхо '‹p›' . htmlspecialchars($feed-›error()) . ‹/p›\r\n; эхо '‹/div›' . \r\n; } ?› - person user2103549; 24.02.2013
comment
‹?php if ($success): ?› ‹?php // get_items() примет значения сверху. foreach($feed->get_items($start, $length) as $item): $feed = $item->get_feed(); ?› ‹div class=chunk› ‹h2›‹?php if ($item-›get_permalink()) echo '‹a href=' . $item-›get_permalink() . ' цель=_blank›'; эхо $item->get_title(true); если ($item-›get_permalink()) echo '‹/a›'; ?›‹/h2› ‹?php echo $item-›get_content(); ?› ‹br /› ‹?php echo $item-›get_date('j M Y | g:i a T'); ?›‹br /› ‹/div› ‹?php endforeach; ?› ‹?php endif; ?› - person user2103549; 24.02.2013
comment
Кроме того, извините за непрофессиональное кодирование выше. 2-й раз пишу сюда. Приветствуется любая помощь с публикацией «кода» в будущем здесь. - person user2103549; 24.02.2013
comment
Не беспокойтесь о коде :-) Я не знаю, действительно ли комментарии могут содержать newline или что-то в этом роде. Я понимаю, что SimplePIE рекомендует использовать sort_items(), но на самом деле вы хотите прямо противоположное: не сортировать их. Поэтому, если они не предлагают возможное значение для сортировки, например sort_items('random'), я не вижу другого выхода, кроме как вернуться к функции рандомизации по вашему выбору. Как вы упомянули WordPress, я предположил, что вы знакомы с PHP, поэтому я рекомендовал перетасовать. Есть ли документация возможных входных значений для sort_items()? - person versvs; 24.02.2013
comment
Спасибо за понимание. Что вы рекомендуете перетасовать $feed или $item ? перетасовать($элемент); или перемешать($feed); Благодарю. - person user2103549; 25.02.2013
comment
Я думаю, что я бы получил все элементы, которые мне нужны (т.е. 2 элемента на канал), а затем перетасовал пул элементов непосредственно перед тем, как вывести его на экран :) - person versvs; 27.02.2013