Як вставити рекламний блок в контент посту для сайта на WordPress

Підтримувати свій власний блог на WordPress досить важко не лише через великі затрати часу, але й з фінансової сторони питання. Багатьом вебмайстрам покрити фінансові затрати вдається лише завдяки розміщенню реклами на своїх сайтах. Наш блог теж працює у великій мірі завдяки рекламі та вашим щедрим пожертвуванням.

Нас декілька раз запитували, як ми домоглися того, щоб на кожній сторінці посту показувати кілька рекламних блоків. Чи вставляємо ми рекламні оголошення вручну при редагуванні кожного посту, чи використовуємо для цього спеціальний код? Якщо і вас цікавлять відповіді на ці питання, зверніть свою увагу на сьогоднішню статтю. Ми вже писали про один із варіантів такого рішення (використовуючи простий шорткод), а сьогодні ми розкажемо, як можна автоматично вставляти блоки з рекламними оголошеннями в кожен пост і після певної кількості абзаців (параграфів).

 

 

Самий простий (але неефективний) спосіб додавання реклами в пост – це додавати код рекламного оголошення вручну. Цей метод дуже важкий та й містить в собі потенційну проблему, коли, наприклад, в майбутньому потрібно буде замінити цей код на всіх сторінках. Тому ми розглянемо лише автоматичний спосіб додавання реклами в пости сайту на WordPress. Він дуже ефективний і, при потребі замінити код реклами, вам потрібно буде відредагувати лише декілька рядків коду у одному файлі.

Цей спосіб не вимагає використання спеціальних плагінів і він підійде навіть початківцям у WordPress.

Відкрийте файл functions.php своєї активної теми та вставте наведений нижче код.
Щоб додати свій код рекламного оголошення, просто замініть значення змінної $reklamniy_cod, де наведено рядок “Додайте сюди свій код з рекламним оголошенням”. Якщо ви хочете вставляти рекламу не після 3-го абзацу, а, наприклад, 5-го, просто змініть цифру 3 на цифру 5 в рядку під номером 4 (там, де return vstavka_reklami_pislya_paragrapha(…)).

Код для вставки в файл functions.php:

 

//Вставляємо рекламний блок після 3-го абзацу на сторінці із окремим постом
function sebweo_reklamniy_block( $content ) {
 $reklamniy_cod = '<div>Додайте сюди свій код з рекламним оголошенням</div>';
 if ( is_single() && ! is_admin() ) {
  return vstavka_reklami_pislya_paragrapha( $reklamniy_cod, 3, $content );
 }
 return $content;
}

// Дочірня функція по вставці рекламного оголошення
function vstavka_reklami_pislya_paragrapha( $vstavka, $paragraf_id, $content ) {
 $zakrittya_p = '</p>';
 $paragrafi = explode( $zakrittya_p, $content );
 foreach ($paragrafi as $index => $paragraf) {
  if ( trim( $paragraf ) ) {
   $paragrafi[$index] .= $zakrittya_p;
  }
  if ( $paragraf_id == $index + 1 ) {
   $paragrafi[$index] .= $vstavka;
  }
 }
 return implode( '', $paragrafi );
}

add_filter( 'the_content', 'sebweo_reklamniy_block' );

 

 

От і все! Ми сподіваємось, що ця стаття стане вам в нагоді. Якщо ви вважаєте її корисною, напишіть, будь ласка, коментар нижче та поділіться лінком на статтю із друзями у соцмережах.

 

Recent Posts

WordPress як Headless CMS 🧠 | практично з REST API

WordPress роками був неперевершеним "монолітом": він відповідав і за зручну адмін-панель, і за збереження даних,…

5 днів ago

Тандем Nginx + Apache 🤝 Як поєднати швидкість та гнучкість

У світі веб-серверів часто говорять про протистояння Nginx vs Apache. Але що, якби я сказав…

6 днів ago

Що таке Apache HTTP Server: 📜 Надійний ветеран веб-серверів

Коли я починав свій шлях у веб-розробці, питання "який веб-сервер використовувати?" практично не стояло. Відповідь…

1 тиждень ago

Що таке Nginx: чому він швидший за Apache? 🚀 | Інструкція + Конфіги

Коли мова заходить про веб-сервери, два імені завжди на слуху: Apache та Nginx. Apache —…

1 тиждень ago

Знайомство з Docker для веб-розробника 🐳 | Встановлення та основи

У світі веб-розробки ми постійно стикаємося з проблемою: "А в мене на комп'ютері все працює!".…

1 тиждень ago

Навіщо веб-розробнику віртуальна машина (VM) 🖥️

На зорі моєї кар'єри веб-розробника все було відносно просто: встановив локальний сервер (пам'ятаєте Denwer?), поклав…

1 тиждень ago