agga
Всем привет. Есть переменная, в ней находится такое содержание:
[basel_info_box image=»7183″ alignment=»center» {padding-bottom: 20px !important;}»]ТУТ ТЕКСТ[/basel_info_box]
[basel_info_box image=»7184″ alignment=»center» {padding-bottom: 20px !important;}»]ТУТ ТЕКСТ 2[/basel_info_box]
Т.е. этими шортами в вордпрессе выводятся инфоблоки. Хотелось бы что бы эти блоки при каждой загрузке выводились в случайном порядке.
Сам понимаю так, что надо выдернуть шорткоды [basel_info_box][/basel_info_box] в массив, перемешать этот массив и уже записать в переменную. Вот как это сделать ума не приложу (
Или может есть решение проще?
Спасибо!
mkramer
https://www.php.net/manual/ru/function.shuffle.php
agga
Да, спасибо, эту функцию я уже нашел. Не пойму как содержимое [basel_info_box][/basel_info_box] засунуть в массив. Может как-то порезать по закрывающему шорткоду [/basel_info_box] ?
agga
Код (Text):
$xxx = ‘[basel_info_box image=»7183″ alignment=»center» {padding-bottom: 20px !important;}»]ТУТ ТЕКСТ[/basel_info_box] [basel_info_box image=»7184″ alignment=»center» {padding-bottom: 20px !important;}»]ТУТ ТЕКСТ[/basel_info_box]’; $pieces = explode(«[/basel_info_box]», $xxx); echo $pieces[0].»<br />»; echo $pieces[1];о, вроде то самое нашел )
roboformation
@agga у вас там, вроде, перевод строки стоит, так по нему и делайте explode. А то закрывающий тег обрезается
— Добавлено —
+ третий пустой элемент добавляется
don.bidon
А что, WP всё ещё не кэширует выдачу блоков? Я б на JS перемешивал, если вся выдача на страницу помещается.