Рубрика: WordPress » WordPress-рецепты »

Реклама вместо HTML-комментария и iframe без проблем

Визуальный редактор WordPress удаляет теги iframe и их содержимое? - Используйте простой плагин, преобразующий комментарий
<!--iframe> ... </iframe--> в теги <iframe> ... </iframe>.
Аналогично, применяя фильтр the_content, можно вставлять вместо HTML-комментариев любое другое содержимое -текст, рекламу и т.д..

iframe

Тег iframe позволяет вставлять на страницу фрейм - поле с другой веб-страницей, например:

<!iframe src="http://сайт.ru" width="600" height="250" align="center"> </iframe>

iframe в WordPress

Кажется, в WordPress последних версий проблем с использованием iframe при переключении на визуальный редактор нет: ввожу в HTML-редакторе
<iframe ... </iframe> а после переключения на визуальный редактор это уже
<iframe width="320" height="240"></iframe>
- редактор исправил ошибку - незакрытый тег - и добавил размеры для iframe. Но еще в WordPress 3.1.3, например, теги iframe исчезали. Простой способ решить проблему исчезновения iframe - добавить в файл темы functions.php (или создать плагин с этим кодом):

// Вставляем iframe без проблем как
// <!--iframe> ... </iframe-->
function insertiframe($text){

 $x1_1="<!--iframe>";
 $x2_1="<iframe>";
 $text1 = str_replace($x1_1, $x2_1, $text);

 $x1_2 = "</iframe-->";
 $x2_2 = "</iframe>";
 $text1 = str_replace($x1_2, $x2_2, $text1);
 return $text1 . $mytext . $yandex1;

}

add_filter('the_content', 'insertiframe', -10);

Аналогично можно вручную добавлять заданное содержимое в любое место внутри записей/постоянных страниц сайта WordPress или автоматически вставлять, например, код рекламы перед статьей или после статьи:

Реклама в WordPress в любом месте статьи

Эта функция автоматически вставляет скрипт рекламы Яндекс.Директ (или другое заданное содержимое) до и после каждой статьи и также заменяет на скрипт рекламы добавленные вручную комментарии <!-- advert--> :

function advertise_in_content($text){

  //Яндекс.Директ перед статьей
  $yandex1 = <<<HTML
  <div class="adv1">
  <!-- Яндекс.Директ -->
  <script type="text/javascript">
  ...
  </script>
  </div>
  HTML;

  //Яндекс.Директ после статьи
  $yandex2 = <<<HTML
  <div class="adv2">
  <!-- Яндекс.Директ -->
  <script type="text/javascript">
  ...
  </script>
  </div>
  HTML;

  // реклама для вставки вручную
  $yandex3= <<<HTML
  <div class="adv3">
  <!-- Яндекс.Директ -->
  <script type="text/javascript">
  ...
  </script>
  </div>
  HTML;

  $x1="<!-- advert-->";
  // Замена комментария:
  $mytext = str_replace($x1, $yandex3, $text);
  // Добавление рекламы до и после содержимого статьи:
  return $yandex1 . $mytext . $yandex2;
}

add_filter('the_content', 'advertise_in_content', -10);
Опубликовано в рубрике WordPress-рецепты | с метками , . |

2 комментария на «Реклама вместо HTML-комментария и iframe без проблем»

  1. Уведомление: Промоника

  2. leonid говорит:

    А как пользоваться функцией для фреймов

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

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