Автор: Рудюк С . А.
https://corp2.net
E-Mail: rs@corp2.net
Рано или поздно, имея сайт, Вы захотите зарабатывать на трафике. А для этого – подключить рекламные компании (контекстную рекламу, показы баннеров и т.п.). Видов рекламы много и площадок, которые Вы можете прокручивать – еще больше. Таким образом, Вам может захотеться не только показывать рекламу, но и время от времени прокручивать рекламу разных площадок.
Большинство плагинов для баннеропоказов ограничены не большим количеством скриптов. Обычно, используется до 10. К тому же, если Вы их публикуете они – постоянно одинаковы.
В данной статье мы рассмотрим, как сделать так, чтоб можно было использовать не ограниченное количество скриптов, которые будут меняться время от времени.
Хранить скрипты мы будем в папке /inc/НазваниеМеста. Каждый скрипт записывается в отдельном файле. Наша функция будет получать список файлов в каталоге хранения скриптов и случайным образом проигрывать любой из этих скриптов.
Добавляем функцию в наш шаблон в файл functions.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
function myRotatorBanner($path){ global $adaptPath; $cat=$_SERVER['DOCUMENT_ROOT'].$path; $files=scandir($cat); if (count($files)>0){ unset($files[1]); // Удвляем каталог .. unset($files[0]); // Удаляем каталог . }else{ return ''; } // Приводим в порядок массив (чтоб шел от нуля до последнего элемента) $i=0; $filesclear=array(); foreach ($files as $key=>$value){ $filesclear[$i]=$value; $i++; } // Выбираем случайный цикл $rnd = rand(0,count($filesclear)-1); $filename=$cat.$filesclear[$rnd]; $scr=file_get_contents($filename); return $scr; } |
Далее, выводим содержимое скрипта в нужных местах сайта. Так, например, в моем шаблоне для этого нужно было поправить файл loop.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php if(function_exists('myRotatorBanner')) echo '<div style="text-align:center">'.myRotatorBanner('/inc/main_top/').'</div>'; ?> <h2 class="post-title"><a href="<?php esc_url(the_permalink()) ?>" rel="bookmark"><?php the_title(); ?></a></h2> <div class="postmeta"><?php themezee_display_postmeta(); ?></div> <a href="<?php esc_url(the_permalink()) ?>" rel="bookmark"><?php the_post_thumbnail('featured_image'); ?></a> <div class="entry clearfix"> <?php the_content(__('<span>Read more</span>', 'zeeDynamic_language')); ?> <div class="page-links"><?php wp_link_pages(); ?></div> </div> <?php if(function_exists('myRotatorBanner')) echo '<div style="text-align:center">'.myRotatorBanner('/inc/main_bottom/').'</div>'; ?> <div class="postinfo clearfix"><?php themezee_display_postinfo_index(); ?></div> </article> |
В данном случае, выводится скрипт сверху выражением:
1 |
if(function_exists('myRotatorBanner')) echo '<div style="text-align:center">'.myRotatorBanner('/inc/main_top/').'</div>'; |
А снизу – выражением:
1 |
if(function_exists('myRotatorBanner')) echo '<div style="text-align:center">'.myRotatorBanner('/inc/main_bottom/').'</div>'; |
Если Вам нужно применять разные скрипты для разных устройств, скрипт можно несколько видоизменить – чтоб распознавал устройства на которых смотрят сайт. В такой вид:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
//Проверка разновидности устройства function checkMobile(){ global $adaptPath; $iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"); $android = strpos($_SERVER['HTTP_USER_AGENT'],"Android"); $ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod"); if ($ipad || $iphone || $android || $ipod === true){ $adaptPath="mobile/"; }else{ $adaptPath="pc/"; } return $adaptPath; } // Ротация баннеров // Указываем путь к каталогу, где лежат баннера // Выдает текст случайного скрипта ротатора баннеров function myRotatorBanner($path){ global $adaptPath; checkMobile(); $cat=$_SERVER['DOCUMENT_ROOT'].$path.$adaptPath; $files=scandir($cat); if (count($files)>0){ unset($files[1]); // Удвляем каталог .. unset($files[0]); // Удаляем каталог . }else{ return ''; } // Приводим в порядок массив (чтоб шел от нуля до последнего элемента) $i=0; $filesclear=array(); foreach ($files as $key=>$value){ $filesclear[$i]=$value; $i++; } // Выбираем случайный цикл $rnd = rand(0,count($filesclear)-1); $filename=$cat.$filesclear[$rnd]; $scr=file_get_contents($filename); return $scr; } |
В данном случае, скрипт будет храниться в каталоге /inc/ВидУстройства/Положение.
https://corp2.info/razrabotka-i-sozdanie-sajtov-internet-magazinov-veb-proektov-kiev-1038.html
Leave a Reply