шорткоды перемешать

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

agga

Да, спасибо, эту функцию я уже нашел. Не пойму как содержимое [basel_info_box][/basel_info_box] засунуть в массив. Может как-то порезать по закрывающему шорткоду [/basel_info_box] ?

 

agga

Код (Text):
  1. $xxx  = ‘[basel_info_box image=»7183″ alignment=»center» {padding-bottom: 20px !important;}»]ТУТ ТЕКСТ[/basel_info_box]
  2. [basel_info_box image=»7184″ alignment=»center» {padding-bottom: 20px !important;}»]ТУТ ТЕКСТ[/basel_info_box]’;
  3. $pieces = explode(«[/basel_info_box]», $xxx);
  4. echo $pieces[0].»<br />»;
  5. echo $pieces[1];

о, вроде то самое нашел )

 

roboformation

@agga у вас там, вроде, перевод строки стоит, так по нему и делайте explode. А то закрывающий тег обрезается
— Добавлено —
+ третий пустой элемент добавляется

 

don.bidon

А что, WP всё ещё не кэширует выдачу блоков? Я б на JS перемешивал, если вся выдача на страницу помещается.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *