Безлимитный хостинг на сверхбыстрых SSD-дисках от 66р в месяц   •   Реклама
6 679 просм
4 комм
Поделиться:

Простой скрипт ротатора ссылок и баннеров на PHP+jQuery

В предыдущей статье я рассказал о том, как сделать ротатор баннеров в CMS DataLife Engine на основе стандартной функции «Рекламные материалы». А сейчас я покажу, как подобное можно просто реализовать на PHP+jQuery для любой CMS.

Идея будет следующая: составим небольшой массив ссылок в HTML-разметке, с помощью функции shuffle перемешаем его, получим первые N элементов и посредством jQuery выведем результат на страницу.

1. Скрипт-обработчик будет выглядеть следующим образом:

<?php

	header('Content-Type: text/html; charset=utf-8');

	$link = [
		'<div><a href="https://www.pandoge.com">Все для начинающего вебмастера</a></div>',
		'<div><a href="https://vk.com">Вконтакте</a></div>',
		'<div><a href="https://ya.ru">Yandex</a></div>',
		'<div><a href="https://www.google.ru">Google</a></div>',
		'<div><a href="https://mail.ru">Mail</a></div>',
		'<div><a href="https://www.pandoge.com">www.pandoge.com</a></div>',
		'<div><a href="https://www.yahoo.com">Yahoo</a></div>'
	]; // Массив ссылок

	shuffle($link); // Перемешиваем массив

	$limit = 3; // Количество выводимых ссылок

	if($limit > count($link)) {

		$limit = count($link);

	}

	for($i = 0; $i < $limit; $i++) {

		echo $link[$i];
	
	}

?>

Его вы помещаете в PHP-файл и размещаете на сайте в нужной вам директории (папке).

2. Далее с помощью jQuery получим ссылки, которые отобрал наш PHP-скрипт. В нужное место на вашем сайте вставьте скрипт и элемент для вывода результата:

<div id="get_link"></div>

<script>

	$(document).ready(function() {

		$("#get_link").load("/rotator.php");

	});

</script>

Если вы хотите сделать регулярное автоматическое подтягивание (получение) новой выборки без перезагрузки страницы, то скрипт jQuery замените на этот:

<script>

	$(document).ready(function() {

		$("#get_link").load("/rotator.php");

		setInterval(function() {

			$("#get_link").load("/rotator.php");

		}, 5000); // Получаем новую выборку каждые 5 секунд

	});

</script>

В обоих вариантах не забудьте «/rotator.php» изменить на адрес до вашего PHP-скрипта.

4
комментария
Форма комментирования этой статьи скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 1
    1
      •  Пользователь
    23 апр в 11:20

    Привет Артем! Установил скрипт на сайт Wordpress но ссылки не выводятся в нужном месте. Если зайти по такому адресу http://сайт.ru/rotator.php то ссылки работаю и появляются новые при обновлении страницы, а мне надо выводить их над шапкой сайта. Можешь посмотреть в чём дело?

      • 0
      828
        •  Администратор
      изменено 24 апр в 10:35

      Виктор Кузнецов, Здравствуйте!

      Статью обновил. С учетом нового кода и CMS сделайте следующее.

      1. В файл functions.php из вашей темы вставляете PHP-функцию:

      function rotator($limit) {
      
      	$link = [
      		'<div><a href="https://www.pandoge.com">Все для начинающего вебмастера</a></div>',
      		'<div><a href="https://vk.com">Вконтакте</a></div>',
      		'<div><a href="https://ya.ru">Yandex</a></div>',
      		'<div><a href="https://www.google.ru">Google</a></div>',
      		'<div><a href="https://mail.ru">Mail</a></div>',
      		'<div><a href="https://www.pandoge.com">www.pandoge.com</a></div>',
      		'<div><a href="https://www.yahoo.com">Yahoo</a></div>'
      	]; // Массив ссылок
      
      	shuffle($link); // Перемешиваем массив
      
      	if($limit > count($link)) {
      
      		$limit = count($link);
      
      	}
      	
      	$result = '';
      	
      	for($i = 0; $i < $limit; $i++) {
      
      		$result .= $link[$i];
      	
      	}
      	
      	return $result;
      	
      }

      2. В нужное место на сайте вставьте:

      <?php
      
      	echo rotator(3);
      	
      ?>

      Здесь «3» - количество выводимых ссылок.

    • 1
    766
      •  Гости
    9 мая в 01:54

    Спс. Попробую. в div можно всё что угодно вставить? Даже код РСЯ или Адсенс?

      • 5
      828
        •  Администратор
      9 мая в 03:48

      Илья, а почему бы и нет. Главное: 1 баннер - 1 строка

Подняться наверх
«Pandoge» - помощник вебмастера