BloGGood.ru

Блог Костаневича Степана

До Нового Года осталось:

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как вывести рекламу AdSense или Директ в любом месте статьи на WordPress? Способ2

Как вывести рекламу AdSense или Директ в любом месте статьи на WordPress? Способ2

2014-11-04 / Вр:09:30 / просмотров: 8193

Как вывести рекламу AdSense или Директ в любом месте статьи на WordPress? Способ2

Для тех, кто не смотрел статью, как я выводить рекламу в статье способом №1, рекомендую почитать здесь. А я продолжу.

В чем фишка этого кода? В том, что реклама будет выводиться после указанного вами абзаца. Достаточно прописать в файле «functions.php» два кода для страниц и записей, потом указать  для каждого кода, после какого абзаца выводить рекламу. Ну, это еще не все, я доработал код и сделал так, что теперь можно блокировать показ рекламы на тех страницах и записях, на которых вы укажите. Код проходил тестирование, все работает.  Если кто-то знает, как проще осуществить эту идею, пишите в комментариях.

Итак…

Способ №2. Вывод рекламных блоков на WordPress после определенного абзаца статьи

Как это реализовать? Да очень просто! Достаточно открыть файл «functions.php» шаблона.
Перед знаком «?>» вставьте вот это код:

Для записи

// Вывод рекламных блоков после определенного абзаца записи
add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
        if( !is_single() )
            return $content;
            $paragraphAfter = 4; //Введите номер абзаца, после которого будет выводиться реклама.
            $content = explode ( "</p>", $content );
            $new_content = '';
                for ( $i = 0; $i < count ( $content ); $i ++ ) {
                    if ( $i == $paragraphAfter ) {
                    $new_content .= ' здесь ваш код рекламы ';
                    }
            $new_content .= $content[$i] . "</p>";
            }
            return $new_content;
    }

Настройки:

В строке №6 – указываете цифрой абзац, после которого будет выводиться рекламный блок.
В строке№11 – вместо надписи «здесь ваш код рекламы» вставьте код вашего рекламного блока.
Если вам нужно запретить на некоторых записях показ рекламы, вам нужно вставить вот этот код:

// Вывод рекламных блоков после определенного абзаца статьи
add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
        if( !is_single() )
            return $content;
            $paragraphAfter = 1; //Введите номер абзаца, после которого будет выводиться реклама.
            $content = explode ( "</p>", $content );
            $new_content = '';
                for ( $i = 0; $i < count ( $content ); $i ++ ) {
                    if ( $i == $paragraphAfter ) {
	     if ( ! is_single ( array(4, 222, 333, 444) ) ) {
                    $new_content .= '  здесь ваш код рекламы  '; }
                    }
            $new_content .= $content[$i] . "</p>";
            }
            return $new_content;
}

В строке №11 нужно указать id записей, на которых будет отключен показ рекламы Adsense. Id записей добавляйте через запятую.

Такой же фокус можно сделать и для страниц. В файле «functions.php» шаблона перед знаком «?>» вставьте вот это код:

Для страниц

// Вывод рекламных блоков после определенного абзаца страницы
add_filter( 'the_content', 'wpse_ad_content1' );
function wpse_ad_content1( $content ) {
        if( !is_page() )
            return $content;
            $paragraphAfter = 2; //Введите номер абзаца, после которого будет выводиться реклама.
            $content = explode ( "</p>", $content );
            $new_content = '';
                for ( $i = 0; $i < count ( $content ); $i ++ ) {
                    if ( $i == $paragraphAfter ) {
                    $new_content .= ' здесь ваш код рекламы ';
                    }
            $new_content .= $content[$i] . "</p>";
            }
            return $new_content;
}

Настройки:

В строке №6 – указываете цифрой абзац, после которого будет выводиться рекламный блок.
В строке№11 – вместо надписи «здесь ваш код рекламы» вставьте код вашего рекламного блока.
Если вам нужно запретить на некоторых страницах показ рекламы, вам нужно вставить вот этот код:

// Вывод рекламных блоков после определенного абзаца страницы
add_filter( 'the_content', 'wpse_ad_content1' );
function wpse_ad_content1( $content ) {
        if( !is_page() )
            return $content;
            $paragraphAfter = 1; //Введите номер абзаца, после которого будет выводиться реклама.
            $content = explode ( "</p>", $content );
            $new_content = '';
                for ( $i = 0; $i < count ( $content ); $i ++ ) {
                    if ( $i == $paragraphAfter ) {

					if ( ! is_page ( array(77) ) ) {
                    $new_content .= 'код рекламы Google Adsense'; }
                    }
            $new_content .= $content[$i] . "</p>";
            }
            return $new_content;
}

В строке №11 нужно указать id страниц, на которых будет отключен показ рекламы Adsense. Id страниц добавляйте через запятую.

Комбинированный код для страниц и записей:

// Вывод рекламных блоков после определенного абзаца записей
add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
        if( !is_single() )
            return $content;
            $paragraphAfter = 1; //Введите номер абзаца, после которого будет выводиться реклама.
            $content = explode ( "</p>", $content );
            $new_content = '';
                for ( $i = 0; $i < count ( $content ); $i ++ ) {
                    if ( $i == $paragraphAfter ) {
					if ( ! is_single ( array( 177, 333, 444) ) ) { 

                    $new_content .= 'код рекламы Google Adsense'; }
                    }
            $new_content .= $content[$i] . "</p>";
            }
            return $new_content;
}

// Вывод рекламных блоков после определенного абзаца страниц
add_filter( 'the_content', 'wpse_ad_content1' );
function wpse_ad_content1( $content ) {
        if( !is_page() )
            return $content;
            $paragraphAfter = 1; //Введите номер абзаца, после которого будет выводиться реклама.
            $content = explode ( "</p>", $content );
            $new_content = '';
                for ( $i = 0; $i < count ( $content ); $i ++ ) {
                    if ( $i == $paragraphAfter ) {

					if ( ! is_page ( array(77) ) ) {
                    $new_content .= 'код рекламы Google Adsense'; }
                    }
            $new_content .= $content[$i] . "</p>";
            }
            return $new_content;
}

Вот и все! Надеюсь, этот код для добавления рекламы будет полезен и практичен. Если кто-то знает, как проще осуществить эту идею, пишите в комментариях.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

15 Ответов на комментарий - Как вывести рекламу AdSense или Директ в любом месте статьи на WordPress? Способ2

  1. Комаровский Виталик

    Спасибо за инфу. Беру на вооружение код вставки после определенного абзаца.

  2. Владимир

    Полезно, интересно! А вот если усложнить задачу. К примеру:
    1 Нам надо вывести рекламу после первого абзаца и перед последним видео.
    2 Или как пример мы хотим после абзаца выводить горизонтально сразу два блока адсенса 336*280
    3 Или еще как пример: вывод рекламы после заголовка, после 6 абзаца и после последнего абзаца. Но чтоб реклама которая выходит в середине статьи (после 6 абзаца) не резала таблицы, картинки и т. д. а выводилась красиво

    Как вам тема для новой статьи ;-)

  3. Степан => автор блога Степан => автор блога

    Если будет время, попробую сделать.

  4. 123

    Появляется лишний тег на страницах сайта, как исправить?

  5. 123

    Тег подрезали код

  6. Степан => автор блога Степан => автор блога

    Договаривайте полными фразами. Какие теги? Что появилось?
    Напишите подробней. Как я могу вам помочь, если не знаю и не вижу проблемы.
    Распишите пожалуйста поподробней.

  7. Степан => автор блога Степан => автор блога

    Не понял тут. :(

  8. Сергей

    Здравствуйте! а как сделать так ,что бы блок отображался в центре,а то он у меня почему то слева распологается,а не по центру. Пользуюсь плагином AdsPlace’r. То есть как у вас на сайте в данной статье стоит прямоуголтник по центру статьи выровнян. А сверху у вас он слева. Как сделать ,что бы по центру отображался?

  9. Степан => автор блога Степан => автор блога

    Здравствуйте, Сергей!
    Пропишите тег “center” как в примере снизу:

    <center>
    <!-- здесь код рекламы -->
    </center>
    
  10. Евгения

    Добрый день. А не подскажете, как решить обратную задачу: чтобы рекламный код выводился только на страницах записей в определенной рубрике/рубриках?
    Т.е. вы указываете “id страниц, на которых будет отключен показ рекламы Adsense”, а нужно наоборот указать id рубрик, где будет разрешен показ рекламы?
    Заранее спасибо

  11. Степан => автор блога Степан => автор блога

    Здравствуйте, Евгения!
    Попробуйте убрать знак “!”, то есть, было так:

    if( !is_page() )
    

    стало

    if( is_page() )
    

    Если не поможет, напишите в комментариях. Помогу.

  12. Кирилл

    Здравствуйте! Подскажите, если знаете в чём может быть проблема. Год назад на одном из своих сайтов пытался через function.php вставить код адсенса после нного абзаца с помощью кода, который Вы предлагаете на этой странице, и что бы я ни делал, объявление получается размером только 280х60, плюнул и вставил с помощью шоркодов. Спустя год на другом сайте попробовал, та же история. Всё перепробовал, не могу понять в чём проблема. Хотя HTML и PHP знаю довольно неплохо! Подскажите если знаете в чём может быть проблема, через шоркоды вставлять рекламу неудобно. Заранее благодарен.

  13. Степан => автор блога Степан => автор блога

    Здравствуйте, Кирилл!
    Этот код на размер рекламы не влияет. Может где-то у Вас прописаны стили, которые сжимают блок и так как рекламный блок адаптивный, то Адсенс выдает рекламу по размеру блока. Это как вариант. Посмотрите в CSS – стилях. Так как иных объяснений я не нахожу.
    Можете попробовать плагин “Whydowork Adsense”

  14. Алексей

    Добрый день! Подскажите пожалуйста, пытаюсь выводить рекламные блоки, но более 3-х (РСЯ и Адсенс) на одну запись не выходит. Сайт сразу становится недоступным.

  15. Степан => автор блога Степан => автор блога

    Здравствуйте, Александр!
    Мне нужно посмотреть, как Вы вставили код. Если можно, опубликуйте его в комментарии между тегами
    [ code] kod [ /code]

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

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 802
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4573