Как вывести ротатор через шорткод?
Здравствуйте друзья! Нужна помощь:
Для ротации рекламных блоков использую такой код:
<?php $banners = array( 'код баннера 1', 'код баннера 2', 'код баннера 3' ); echo $banners[array_rand($banners)]; ?>
Он отлично работает в сайдбаре и если выводить через шаблон (single.php и т.д.), но при попытке вывести его через шорткод в посте, выдает ошибку:
Parse error: syntax error, unexpected 'async' (T_STRING) in ...блаблабла
Сам шорткод:
function reklama_content2() {return '';} add_shortcode('ad2', 'reklama_content2');
Код ротатора вместе с шорткодом выглядит вот так:
function reklama_content2() {return '<?php $banners = array( 'код баннера 1', 'код баннера 2', 'код баннера 3' ); echo $banners[array_rand($banners)]; ?>';} add_shortcode('ad2', 'reklama_content2');
Если код сделать в такой вид:
function reklama_content2() {return '<?php $banners = array( "код баннера 1", "код баннера 2", "код баннера 3" ); echo $banners[array_rand($banners)]; ?>';} add_shortcode('ad2', 'reklama_content2');
то он выводит все три блока рекламы сразу и между ними еще часть кода, вот как это выглядит:
В functions.php добавил "возможность php в статьях", код брал отсюда: https://wp-kama.ru/id_87/ispolnyaemyiy-php-kod-v-zapisyah-wordpress.html
прописав [exec][/exec] выдает все также как на картинке, только с добавлением [exec][/exec] спереди и в конце
Помогите пожалуйста починить вывод ротатора в статьях